summaryrefslogtreecommitdiff
path: root/libports
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1997-08-20 20:31:59 +0000
committerMiles Bader <miles@gnu.org>1997-08-20 20:31:59 +0000
commitcbe5d0a8681a24b25ed68e09952367f4b4a98a4c (patch)
tree4728be94eb80513cecae187d3c8ad9f5db5b7a04 /libports
parent092e2ac3b344d7793b6fa56a5255ff1ce0916185 (diff)
(ports_self_interrupted, _ports_record_interruption):
New declarations. (struct rpc_info): Add interrupted_next field.
Diffstat (limited to 'libports')
-rw-r--r--libports/ports.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libports/ports.h b/libports/ports.h
index 1ab8855c..e973e3f0 100644
--- a/libports/ports.h
+++ b/libports/ports.h
@@ -92,6 +92,7 @@ struct rpc_info
thread_t thread;
struct rpc_info *next, **prevp;
struct rpc_notify *notifies;
+ struct rpc_info *interrupted_next;
};
/* An rpc has requested interruption on a port notification. */
@@ -333,6 +334,13 @@ void ports_resume_all_rpcs (void);
/* Cancel (with thread_cancel) any RPC's in progress on PORT. */
void ports_interrupt_rpcs (void *port);
+/* If the current thread's rpc has been interrupted with
+ ports_interrupt_rpcs, return true (and clear the interrupted flag). */
+int ports_self_interrupted ();
+
+/* Add RPC to the list of rpcs that have been interrupted. */
+void _ports_record_interruption (struct rpc_info *rpc);
+
/* Arrange for hurd_cancel to be called on RPC's thread if OBJECT gets notified
that any of the things in COND have happened to PORT. RPC should be an
rpc on OBJECT. */