From 1804be048ac341df4162dc954e7319adb4ce915c Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 30 Apr 2011 16:34:48 +0000 Subject: * fcntl.cc (fcntl64): Call pthread_testcancel. * fhandler_socket.cc (fhandler_socket::connect): Ditto. (fhandler_socket::accept4): Ditto. (fhandler_socket::recvfrom): Ditto. (fhandler_socket::recvmsg): Ditto. (fhandler_socket::sendto): Ditto. (fhandler_socket::sendmsg): Ditto. * flock.cc (lf_setlock): Allow to cancel thread running blocking file lock. Try to make code more readable. (lockf): Call pthread_testcancel. * mmap.cc (msync): Ditto. * posix_ipc.cc (ipc_cond_timedwait): Call pthread::static_cancel_self rather than pthread_testcancel. * select.cc (cygwin_select): Call pthread_testcancel. * syscalls.cc (pread): Ditto. (pwrite): Ditto. (readv): Ditto. (writev): Ditto. (open): Ditto. (close): Ditto. (fsync): Ditto. * termios.cc (tcdrain): Ditto. * thread.cc: Align list of cancellation points with above changes. Mark not-implemented functions, too. (cancelable_wait): Don't set unused object indices to WAIT_FAILED since that could result in wrong behaviour. Set them to the invalid value WAIT_TIMEOUT + 1 instead. --- winsup/cygwin/mmap.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'winsup/cygwin/mmap.cc') diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc index 8522b6d6d..059daa186 100644 --- a/winsup/cygwin/mmap.cc +++ b/winsup/cygwin/mmap.cc @@ -1169,6 +1169,8 @@ msync (void *addr, size_t len, int flags) syscall_printf ("msync (addr: %p, len %u, flags %x)", addr, len, flags); + pthread_testcancel (); + LIST_LOCK (); if (((uintptr_t) addr % getpagesize ()) -- cgit v1.2.3