diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-09-13 17:54:54 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-09-13 17:54:54 +0000 |
commit | 7b49486ca1fff4f5e2bb05ed45f2ace7e69e32d7 (patch) | |
tree | 4a1155527523d74b1b94b28d41fe9cda7e85e91d /ace/Timer_Queue_T.h | |
parent | 6b4e3ef7ccefb4f81e766a00d8cf4c8b5aaf09fb (diff) | |
download | ATCD-7b49486ca1fff4f5e2bb05ed45f2ace7e69e32d7.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Timer_Queue_T.h')
-rw-r--r-- | ace/Timer_Queue_T.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/ace/Timer_Queue_T.h b/ace/Timer_Queue_T.h index 4b2b4321cd7..132e44cb020 100644 --- a/ace/Timer_Queue_T.h +++ b/ace/Timer_Queue_T.h @@ -363,8 +363,10 @@ class ACE_Async_Timer_Queue_Adapter : public ACE_Event_Handler public: typedef TQ TIMER_QUEUE; - ACE_Async_Timer_Queue_Adapter (void); - // Register the SIGALRM handler. + ACE_Async_Timer_Queue_Adapter (ACE_Sig_Set *mask = 0); + // Register the SIGALRM handler. If <mask> == 0 then block all + // signals when <SIGALRM> is run. Otherwise, just block the signals + // indicated in <mask>. long schedule (ACE_Event_Handler *type, const void *act, @@ -374,23 +376,27 @@ public: // <ACE_Timer_List>. However, this timer gets dispatched via a // signal, rather than by a user calling <expire>. - int cancel (long timer_id, const void **); - // Cancel the <timer_id>. + int cancel (long timer_id, const void **act = 0); + // Cancel the <timer_id> and pass back the <act> if an address is + // passed in. TQ &timer_queue (void); // Access the underlying <TIMER_QUEUE>. private: virtual int handle_signal (int signum, siginfo_t *, ucontext_t *); - // Called back by SIGALRM handler. + // Called back by <SIGALRM> handler. ACE_Sig_Handler sig_handler_; - // Handler for the SIGALRM signal, so that we can access our state + // Handler for the <SIGALRM> signal, so that we can access our state // without requiring global variables. TQ timer_queue_; // Implementation of the timer queue (e.g., <ACE_Timer_List>, // <ACE_Timer_Heap>, etc.). + + ACE_Sig_Set mask_; + // Mask of signals to be blocked when we're servicing <SIGALRM>. }; #if defined (__ACE_INLINE__) |