diff options
author | alex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-25 03:59:50 +0000 |
---|---|---|
committer | alex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-25 03:59:50 +0000 |
commit | 659eac2b1d0cc147a54653ab516710dc05fc9674 (patch) | |
tree | a1ca7ec32d41c7914d56c968a2be0233cd285f86 /ace/Proactor_Impl.h | |
parent | a8e4540b979e90ce80f9a131b1b2d3f905d2e7d0 (diff) | |
download | ATCD-659eac2b1d0cc147a54653ab516710dc05fc9674.tar.gz |
- Completed Multithreading of POSIX_SIG_Proactor.
- Introduced another constructor for ACE_POSIX_SIG_Proactor for taking
signal mask to be used with the Proactor.
- Thanks to Dave Butenhof <butenhof@zko.dec.com> for helping a lot to
understand the various things in the POSIX4 standard.
- Thanks to Dave suggestion of keeping null_handler for the sigaction
to real-time signals. With this and a couple of other correct POSIX
things SIG proactor is now working with in Solaris 2.7.
- Lynx OS doesnt support <pthread_sigmask>, so it couldnt be
multithreaded. Enabled AIOCB_Proactor for this platform.
- Added an example to make use of the real-time signal numbers for the
asynchronous I/O calls.
Diffstat (limited to 'ace/Proactor_Impl.h')
-rw-r--r-- | ace/Proactor_Impl.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/ace/Proactor_Impl.h b/ace/Proactor_Impl.h index 347de43fcd7..edae3452e1a 100644 --- a/ace/Proactor_Impl.h +++ b/ace/Proactor_Impl.h @@ -113,7 +113,7 @@ public: ACE_Message_Block &message_block, u_long bytes_to_read, const void* act, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Read_Stream::Result class. @@ -123,7 +123,7 @@ public: ACE_Message_Block &message_block, u_long bytes_to_write, const void* act, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Write_Stream::Result. @@ -135,7 +135,7 @@ public: const void* act, u_long offset, u_long offset_high, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Read_File::Result. @@ -147,7 +147,7 @@ public: const void* act, u_long offset, u_long offset_high, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Write_File::Result. @@ -158,7 +158,7 @@ public: ACE_Message_Block &message_block, u_long bytes_to_read, const void* act, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Accept::Result. @@ -173,7 +173,7 @@ public: u_long bytes_per_send, u_long flags, const void *act, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, int signal_number = ACE_SIGRTMIN) = 0; // Create the correct implementation class for ACE_Asynch_Transmit_File::Result. @@ -181,10 +181,12 @@ public: virtual ACE_Asynch_Result_Impl *create_asynch_timer (ACE_Handler &handler, const void *act, const ACE_Time_Value &tv, - ACE_HANDLE event, + ACE_HANDLE event = ACE_INVALID_HANDLE, int priority = 0, - int signal_number = ACE_SIGRTMIN) = 0; - // Create the correct implementation object for the Timer result. + int signal_number = 0) = 0; + // Create the correct implementation object for the Timer + // result. POSIX_SIG_Proactor will create a Timer object with a + // meaningful signal number, if you leave the signal number as 0. }; #endif /* (ACE_WIN32 && ACE_HAS_WINCE) || ACE_HAS_AIO_CALLS */ |