diff options
author | Michael I. Bushnell <mib@gnu.org> | 1995-12-20 01:20:16 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1995-12-20 01:20:16 +0000 |
commit | d6f441166420f08076aca71e705738b05f14a2e2 (patch) | |
tree | 98aa82e31dd183c171aeeb769906a18bb8a8e907 /term | |
parent | 1e4c80c802285dd341cc409ea92cf1eada01da98 (diff) |
(send_signal): Release global_lock around signal RPC.
(call_asyncs): Likewise.
Diffstat (limited to 'term')
-rw-r--r-- | term/users.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/term/users.c b/term/users.c index b01efb35..43646e3c 100644 --- a/term/users.c +++ b/term/users.c @@ -1743,7 +1743,11 @@ call_asyncs () return; if ((termflags & ICKY_ASYNC) && !(termflags & NO_OWNER)) - hurd_sig_post (foreground_id, SIGIO, async_icky_id); + { + mutex_unlock (&global_lock); + hurd_sig_post (foreground_id, SIGIO, async_icky_id); + mutex_lock (&global_lock); + } for (ar = async_requests, prevp = &async_requests; ar; @@ -1774,7 +1778,9 @@ send_signal (int signo) right = ports_get_right (cttyid); mach_port_insert_right (mach_task_self (), right, right, MACH_MSG_TYPE_MAKE_SEND); + mutex_unlock (&global_lock); hurd_sig_post (foreground_id, signo, right); + mutex_lock (&global_lock); mach_port_deallocate (mach_task_self (), right); } } |