diff options
Diffstat (limited to 'winsup/cygserver/sysv_msg.cc')
-rw-r--r-- | winsup/cygserver/sysv_msg.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygserver/sysv_msg.cc b/winsup/cygserver/sysv_msg.cc index 217cc1d97..9e90d05a9 100644 --- a/winsup/cygserver/sysv_msg.cc +++ b/winsup/cygserver/sysv_msg.cc @@ -733,7 +733,8 @@ msgsnd(struct thread *td, struct msgsnd_args *uap) if (error != 0) { DPRINTF(("msgsnd: interrupted system call\n")); #ifdef __CYGWIN__ - if (error != EIDRM) + if (error == EIDRM) + goto done2; #endif /* __CYGWIN__ */ error = EINTR; goto done2; @@ -1089,7 +1090,8 @@ msgrcv(struct thread *td, struct msgrcv_args *uap) if (error != 0) { DPRINTF(("msgrcv: interrupted system call\n")); #ifdef __CYGWIN__ - if (error != EIDRM) + if (error == EIDRM) + goto done2; #endif /* __CYGWIN__ */ error = EINTR; goto done2; |