diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-11-20 21:09:44 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-11-20 21:09:44 +0300 |
commit | bd0e35213d635df40a1c6f8b2c91710bc67c6a3e (patch) | |
tree | ee4338a42b3a3f864b4fa825321aa5268dbb7469 /winsup/cygwin/sem.cc | |
parent | 72f11cac6559b9ba3637d3e21ca15f9fa865a19c (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/sem.cc')
-rw-r--r-- | winsup/cygwin/sem.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/winsup/cygwin/sem.cc b/winsup/cygwin/sem.cc index a3085d160..dfe28908f 100644 --- a/winsup/cygwin/sem.cc +++ b/winsup/cygwin/sem.cc @@ -115,11 +115,14 @@ semctl (int semid, int semnum, int cmd, ...) { syscall_printf ("-1 [%d] = semctl ()", 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 } @@ -136,11 +139,14 @@ semget (key_t key, int nsems, int semflg) { syscall_printf ("-1 [%d] = semctl ()", 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 } @@ -159,11 +165,14 @@ semop (int semid, struct sembuf *sops, size_t nsops) { syscall_printf ("-1 [%d] = semctl ()", 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 } |