summaryrefslogtreecommitdiffstats
path: root/winsup/cygserver/sem.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-01-19 17:42:38 +0000
committerCorinna Vinschen <corinna@vinschen.de>2015-01-19 17:42:38 +0000
commit8d8f40361f1d0e135f6679a00b19a0e1808df085 (patch)
tree49b3d6b790156e9c3ba6fd0e634940ddc6eb27d7 /winsup/cygserver/sem.cc
parentc95ce0216000cb8fb85d666adc79ed62b126d2ec (diff)
downloadcygnal-8d8f40361f1d0e135f6679a00b19a0e1808df085.tar.gz
cygnal-8d8f40361f1d0e135f6679a00b19a0e1808df085.tar.bz2
cygnal-8d8f40361f1d0e135f6679a00b19a0e1808df085.zip
* bsd_helper.h: Throughout, convert "struct thread" to "class thread".
* bsd_mutex.cc (_msleep): Fetch signal_arrived handle from thread's ipcblk. * process.h (class process): Drop _signal_arrived and align methods. (process_cache::process): Drop signal_arrived parameter. * process.cc (process::process): Ditto. Drop related code. (process::~process): Drop closing signal_arrived handle. (process_cache::process): Drop signal_arrived parameter in call to process::process. (thread::dup_signal_arrived): New method duplicating thread's signal_arrived handle. (thread::close_signal_arrived): New method closing thread's signal_arrived handle. * msg.cc (client_request_msg::serve): Drop signal_arrived parameter from call to process_cache::process. Use thread constructor to initialize td. * sem.cc (client_request_sem::serve): Ditto. * shm.cc (client_request_shm::serve): Ditto.
Diffstat (limited to 'winsup/cygserver/sem.cc')
-rw-r--r--winsup/cygserver/sem.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/winsup/cygserver/sem.cc b/winsup/cygserver/sem.cc
index 55cd6e51e..b0252a667 100644
--- a/winsup/cygserver/sem.cc
+++ b/winsup/cygserver/sem.cc
@@ -52,8 +52,7 @@ client_request_sem::serve (transport_layer_base *const conn,
return;
}
process *const client = cache->process (_parameters.in.ipcblk.cygpid,
- _parameters.in.ipcblk.winpid,
- _parameters.in.ipcblk.signal_arrived);
+ _parameters.in.ipcblk.winpid);
if (!client)
{
error_code (EAGAIN);
@@ -79,7 +78,7 @@ client_request_sem::serve (transport_layer_base *const conn,
conn->revert_to_self ();
/* sysv_sem.cc takes care of itself. */
client->release ();
- thread td = { client, &_parameters.in.ipcblk, {-1, -1} };
+ thread td (client, &_parameters.in.ipcblk, true);
int res;
switch (_parameters.in.semop)
{