int _msync(void *addr, size_t len, int flags) { int ret; ret = __sys_msync(addr, len, flags); return (ret); }
int __msync(void *addr, size_t len, int flags) { struct pthread *curthread = _get_curthread(); int ret; /* * XXX This is quite pointless unless we know how to get the * file descriptor associated with the memory, and lock it for * write. The only real use of this wrapper is to guarantee * a cancellation point, as per the standard. sigh. */ _thr_cancel_enter(curthread); ret = __sys_msync(addr, len, flags); _thr_cancel_leave(curthread, 1); return (ret); }