summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/posix_ipc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/posix_ipc.cc')
-rw-r--r--winsup/cygwin/posix_ipc.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/posix_ipc.cc b/winsup/cygwin/posix_ipc.cc
index 600fb0d19..04b3e58bc 100644
--- a/winsup/cygwin/posix_ipc.cc
+++ b/winsup/cygwin/posix_ipc.cc
@@ -220,7 +220,6 @@ restart1:
ret = EINTR;
break;
case WAIT_OBJECT_0 + 2:
- pthread_testcancel ();
ret = ETIMEDOUT;
break;
default:
@@ -245,7 +244,6 @@ restart1:
ret = EINTR;
break;
case WAIT_OBJECT_0 + 2:
- pthread_testcancel ();
ret = ETIMEDOUT;
break;
default:
@@ -729,6 +727,8 @@ _mq_send (mqd_t mqd, const char *ptr, size_t len, unsigned int prio,
struct msg_hdr *msghdr, *nmsghdr, *pmsghdr;
struct mq_info *mqinfo;
+ pthread_testcancel ();
+
myfault efault;
if (efault.faulted (EBADF))
return -1;
@@ -860,6 +860,8 @@ _mq_receive (mqd_t mqd, char *ptr, size_t maxlen, unsigned int *priop,
struct msg_hdr *msghdr;
struct mq_info *mqinfo;
+ pthread_testcancel ();
+
myfault efault;
if (efault.faulted (EBADF))
return -1;