summaryrefslogtreecommitdiff
path: root/libports
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1999-02-25 16:22:28 +0000
committerThomas Bushnell <thomas@gnu.org>1999-02-25 16:22:28 +0000
commitd99c719a48f456a283aef18031f92e4996ee641d (patch)
tree3727ccc9ce6dcd7c6dc2f94cb0fa61c09c57b3e9 /libports
parent592785b0ad86d02eb82a8ae88ee17ba4d3084799 (diff)
Thu Feb 25 10:31:57 1999 Thomas Bushnell, BSG <tb@mit.edu>
* end-rpc.c (ports_end_rpc): Signal ports_block anytime an rpc ends and someone is waiting on an inhibition.
Diffstat (limited to 'libports')
-rw-r--r--libports/ChangeLog5
-rw-r--r--libports/end-rpc.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/libports/ChangeLog b/libports/ChangeLog
index c7b6cd48..fc4bc0bc 100644
--- a/libports/ChangeLog
+++ b/libports/ChangeLog
@@ -1,3 +1,8 @@
+Thu Feb 25 10:31:57 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * end-rpc.c (ports_end_rpc): Signal ports_block anytime an rpc
+ ends and someone is waiting on an inhibition.
+
1999-01-01 Roland McGrath <roland@baalperazim.frob.com>
* interrupt-on-notify.c (ports_interrupt_self_on_notification): Use
diff --git a/libports/end-rpc.c b/libports/end-rpc.c
index d2aceedf..47fd1ae7 100644
--- a/libports/end-rpc.c
+++ b/libports/end-rpc.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
Written by Michael I. Bushnell.
This file is part of the GNU Hurd.
@@ -38,10 +38,10 @@ ports_end_rpc (void *port, struct rpc_info *info)
_ports_total_rpcs--;
pi->bucket->rpcs--;
- if ((!pi->current_rpcs && (pi->flags & PORT_INHIBIT_WAIT))
- || (!pi->bucket->rpcs && (pi->bucket->flags & PORT_BUCKET_INHIBIT_WAIT))
- || (!pi->class->rpcs && (pi->class->flags & PORT_CLASS_INHIBIT_WAIT))
- || (!_ports_total_rpcs && (_ports_flags & _PORTS_INHIBIT_WAIT)))
+ if ((pi->flags & PORT_INHIBIT_WAIT)
+ || (pi->bucket->flags & PORT_BUCKET_INHIBIT_WAIT)
+ || (pi->class->flags & PORT_CLASS_INHIBIT_WAIT)
+ || (_ports_flags & _PORTS_INHIBIT_WAIT))
condition_broadcast (&_ports_block);
/* This removes the current thread's rpc (which should be INFO) from the