thr_msync.c revision 113658
1/*
2 * David Leonard <d@openbsd.org>, 1999. Public Domain.
3 *
4 * $OpenBSD: uthread_msync.c,v 1.2 1999/06/09 07:16:17 d Exp $
5 *
6 * $FreeBSD: head/lib/libkse/thread/thr_msync.c 113658 2003-04-18 05:04:16Z deischen $
7 */
8
9#include <sys/types.h>
10#include <sys/mman.h>
11#include <pthread.h>
12#include "thr_private.h"
13
14__weak_reference(__msync, msync);
15
16int
17__msync(void *addr, size_t len, int flags)
18{
19	struct pthread *curthread = _get_curthread();
20	int	ret;
21
22	/*
23	 * XXX This is quite pointless unless we know how to get the
24	 * file descriptor associated with the memory, and lock it for
25	 * write. The only real use of this wrapper is to guarantee
26	 * a cancellation point, as per the standard. sigh.
27	 */
28	_thr_enter_cancellation_point(curthread);
29	ret = __sys_msync(addr, len, flags);
30	_thr_leave_cancellation_point(curthread);
31
32	return ret;
33}
34