summaryrefslogtreecommitdiff
path: root/ace/POSIX_Asynch_IO.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/POSIX_Asynch_IO.h')
-rw-r--r--ace/POSIX_Asynch_IO.h12
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_*