diff options
Diffstat (limited to 'ace/POSIX_Asynch_IO.h')
-rw-r--r-- | ace/POSIX_Asynch_IO.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ace/POSIX_Asynch_IO.h b/ace/POSIX_Asynch_IO.h index 56224912845..521ecd31b45 100644 --- a/ace/POSIX_Asynch_IO.h +++ b/ace/POSIX_Asynch_IO.h @@ -172,6 +172,12 @@ protected: virtual ~ACE_POSIX_Asynch_Operation (void); // Destructor. + virtual int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result) = 0; + // <Asynch_Operation> class call this method to register the <aio_> + // call with the Proactor, so that Proactor can do completion + // querying effectively. Different POSIX Proactor implementations do + // different things to register the <aio_>. + ACE_Proactor *proactor_; // Proactor that this Asynch IO will be registered with. @@ -239,6 +245,12 @@ protected: virtual ~ACE_POSIX_SIG_Asynch_Operation (void); // Destructor. + int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result); + // <Asynch_Operation> classes call this, to register the real-time + // signal used to issue the <aio_> call with the Proator. This + // should be done so that the Proactor can wait for completions of + // the asynchronous calls, issued using those signals. + ACE_POSIX_SIG_Proactor *posix_sig_proactor_; // It is easy to get this specific implementation proactor here, // since it is the one that creates the correct POSIX_Asynch_* |