summaryrefslogtreecommitdiff
path: root/libports/end-rpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libports/end-rpc.c')
-rw-r--r--libports/end-rpc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libports/end-rpc.c b/libports/end-rpc.c
index 8eb31180..e4aba7bc 100644
--- a/libports/end-rpc.c
+++ b/libports/end-rpc.c
@@ -40,5 +40,9 @@ ports_end_rpc (void *port, struct rpc_info *info)
|| (!_ports_total_rpcs && (_ports_flags & _PORTS_INHIBIT_WAIT)))
condition_broadcast (&_ports_block);
+ /* Clear the cancellation flag for this thread since the current
+ RPC is now finished anwhow. */
+ hurd_check_cancel ();
+
mutex_unlock (&_ports_lock);
}