Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2003-11-20 21:09:44 +0300
committerCorinna Vinschen <corinna@vinschen.de>2003-11-20 21:09:44 +0300
commitbd0e35213d635df40a1c6f8b2c91710bc67c6a3e (patch)
treeee4338a42b3a3f864b4fa825321aa5268dbb7469 /winsup/cygwin/msg.cc
parent72f11cac6559b9ba3637d3e21ca15f9fa865a19c (diff)
* msg.cc (msgctl): Raise SIGSYS if call not available.
(msgget): Ditto. (msgrcv): Ditto. (msgsnd): Ditto. * sem.cc (semctl): Ditto. (semget): Ditto. (semop): Ditto. * shm.cc (shmat): Ditto. (shmctl): Ditto. (shmget): Ditto. (shmdt): Ditto.
Diffstat (limited to 'winsup/cygwin/msg.cc')
-rw-r--r--winsup/cygwin/msg.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/winsup/cygwin/msg.cc b/winsup/cygwin/msg.cc
index 368708b1d..b300a133f 100644
--- a/winsup/cygwin/msg.cc
+++ b/winsup/cygwin/msg.cc
@@ -136,11 +136,14 @@ msgctl (int msqid, int cmd, struct msqid_ds *buf)
{
syscall_printf ("-1 [%d] = msgctl ()", request.error_code ());
set_errno (request.error_code ());
+ if (request.error_code () == ENOSYS)
+ raise (SIGSYS);
return -1;
}
return request.retval ();
#else
set_errno (ENOSYS);
+ raise (SIGSYS);
return -1;
#endif
}
@@ -156,11 +159,14 @@ msgget (key_t key, int msgflg)
{
syscall_printf ("-1 [%d] = msgget ()", request.error_code ());
set_errno (request.error_code ());
+ if (request.error_code () == ENOSYS)
+ raise (SIGSYS);
return -1;
}
return request.retval ();
#else
set_errno (ENOSYS);
+ raise (SIGSYS);
return -1;
#endif
}
@@ -180,11 +186,14 @@ msgrcv (int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)
{
syscall_printf ("-1 [%d] = msgrcv ()", request.error_code ());
set_errno (request.error_code ());
+ if (request.error_code () == ENOSYS)
+ raise (SIGSYS);
return -1;
}
return request.rcvval ();
#else
set_errno (ENOSYS);
+ raise (SIGSYS);
return -1;
#endif
}
@@ -203,11 +212,14 @@ msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg)
{
syscall_printf ("-1 [%d] = msgsnd ()", request.error_code ());
set_errno (request.error_code ());
+ if (request.error_code () == ENOSYS)
+ raise (SIGSYS);
return -1;
}
return request.retval ();
#else
set_errno (ENOSYS);
+ raise (SIGSYS);
return -1;
#endif
}