diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-11-20 18:09:44 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-11-20 18:09:44 +0000 |
commit | bd0e35213d635df40a1c6f8b2c91710bc67c6a3e (patch) | |
tree | ee4338a42b3a3f864b4fa825321aa5268dbb7469 /winsup/cygwin/shm.cc | |
parent | 72f11cac6559b9ba3637d3e21ca15f9fa865a19c (diff) | |
download | cygnal-bd0e35213d635df40a1c6f8b2c91710bc67c6a3e.tar.gz cygnal-bd0e35213d635df40a1c6f8b2c91710bc67c6a3e.tar.bz2 cygnal-bd0e35213d635df40a1c6f8b2c91710bc67c6a3e.zip |
* 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/shm.cc')
-rw-r--r-- | winsup/cygwin/shm.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/winsup/cygwin/shm.cc b/winsup/cygwin/shm.cc index ef3248f4f..bec74ad03 100644 --- a/winsup/cygwin/shm.cc +++ b/winsup/cygwin/shm.cc @@ -204,6 +204,8 @@ shmat (int shmid, const void *shmaddr, int shmflg) UnmapViewOfFile (ptr); delete sph_entry; set_errno (request.error_code ()); + if (request.error_code () == ENOSYS) + raise (SIGSYS); return NULL; } sph_entry->ptr = ptr; @@ -214,6 +216,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) return ptr; #else set_errno (ENOSYS); + raise (SIGSYS); return NULL; #endif } @@ -252,6 +255,8 @@ shmctl (int shmid, int cmd, struct shmid_ds *buf) { syscall_printf ("-1 [%d] = shmctl ()", request.error_code ()); set_errno (request.error_code ()); + if (request.error_code () == ENOSYS) + raise (SIGSYS); return -1; } if (cmd == IPC_RMID) @@ -273,6 +278,7 @@ shmctl (int shmid, int cmd, struct shmid_ds *buf) return request.retval (); #else set_errno (ENOSYS); + raise (SIGSYS); return -1; #endif } @@ -288,6 +294,8 @@ shmdt (const void *shmaddr) { syscall_printf ("-1 [%d] = shmctl ()", request.error_code ()); set_errno (request.error_code ()); + if (request.error_code () == ENOSYS) + raise (SIGSYS); return -1; } shm_attached_list *sph_entry, *sph_next_entry; @@ -306,6 +314,7 @@ shmdt (const void *shmaddr) return request.retval (); #else set_errno (ENOSYS); + raise (SIGSYS); return -1; #endif } @@ -330,6 +339,8 @@ shmget (key_t key, size_t size, int shmflg) syscall_printf ("-1 [%d] = shmctl ()", request.error_code ()); delete ssh_new_entry; set_errno (request.error_code ()); + if (request.error_code () == ENOSYS) + raise (SIGSYS); return -1; } int shmid = request.retval (); /* Shared mem ID */ @@ -357,6 +368,7 @@ shmget (key_t key, size_t size, int shmflg) return shmid; #else set_errno (ENOSYS); + raise (SIGSYS); return -1; #endif } |