diff options
-rw-r--r-- | libports/ports.h | 8 |
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. */ |