summaryrefslogtreecommitdiff
path: root/ace/Asynch_IO.h
diff options
context:
space:
mode:
authoralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-14 07:38:42 +0000
committeralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-14 07:38:42 +0000
commit6668251ff2c06ef50fc1e3e6f88d5c4c09176904 (patch)
tree03eaa4389c16a6821855d4ee9350a0f1ebeef8a8 /ace/Asynch_IO.h
parent41048dfee726ec5d85ac8fe237cffbf1b7778e88 (diff)
downloadATCD-6668251ff2c06ef50fc1e3e6f88d5c4c09176904.tar.gz
Added additional parameter <int signal_number> to all the Asynchronos
Operation method so that we can specify which real-time signal should be used for each of the Asynchronous Operation. This only makes sense in the ACE_SIG_Proactor configuration.
Diffstat (limited to 'ace/Asynch_IO.h')
-rw-r--r--ace/Asynch_IO.h43
1 files changed, 37 insertions, 6 deletions
diff --git a/ace/Asynch_IO.h b/ace/Asynch_IO.h
index d3a812e7838..4e1c72d18b6 100644
--- a/ace/Asynch_IO.h
+++ b/ace/Asynch_IO.h
@@ -112,6 +112,13 @@ public:
//
// On Win32, this is a no-op.
+ int signal_number (void) const;
+ // POSIX4 real-time signal number to be used for the
+ // operation. <signal_number> ranges from ACE_SIGRTMIN to ACE_SIGRTMAX. By
+ // default, ACE_SIGRTMIN is used to issue <aio_> calls. This is a no-op
+ // on non-POSIX4 systems and returns 0.
+
+
virtual ~ACE_Asynch_Result (void);
// Destructor.
@@ -227,7 +234,8 @@ public:
int read (ACE_Message_Block &message_block,
u_long bytes_to_read,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous read. Upto <bytes_to_read> will
// be read and stored in the <message_block>. Priority of the
// operation is specified by <priority>. On POSIX4-Unix, this is
@@ -235,6 +243,9 @@ public:
// allowed. 0 means priority of the operation same as the process
// priority. 1 means priority of the operation is one less than
// process. And so forth. On Win32, this is a no-op.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Read_Stream_Impl *implementation (void) const;
// Return the underlying implementation class.
@@ -331,7 +342,8 @@ public:
int write (ACE_Message_Block &message_block,
u_long bytes_to_write,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous write. Upto <bytes_to_write>
// will be written from the <message_block>. Priority of the
// operation is specified by <priority>. On POSIX4-Unix, this is
@@ -339,6 +351,9 @@ public:
// allowed. 0 means priority of the operation same as the process
// priority. 1 means priority of the operation is one less than
// process. And so forth. On Win32, this is a no-op.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Write_Stream_Impl *implementation (void) const;
// Return the underlying implementation class.
@@ -440,7 +455,8 @@ public:
u_long offset = 0,
u_long offset_high = 0,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous read. Upto <bytes_to_read> will
// be read and stored in the <message_block>. The read will start
// at <offset> from the beginning of the file. Priority of the
@@ -449,6 +465,9 @@ public:
// allowed. 0 means priority of the operation same as the process
// priority. 1 means priority of the operation is one less than
// process. And so forth. On Win32, this is a no-op.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Read_File_Impl *implementation (void) const;
// Return the underlying implementation class.
@@ -548,7 +567,8 @@ public:
u_long offset = 0,
u_long offset_high = 0,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous write. Upto <bytes_to_write>
// will be write and stored in the <message_block>. The write will
// start at <offset> from the beginning of the file. Priority of the
@@ -557,6 +577,9 @@ public:
// allowed. 0 means priority of the operation same as the process
// priority. 1 means priority of the operation is one less than
// process. And so forth. On Win32, this is a no-op.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Write_File_Impl *implementation (void) const;
// Return the underlying implementation class.
@@ -651,7 +674,8 @@ public:
u_long bytes_to_read,
ACE_HANDLE accept_handle = ACE_INVALID_HANDLE,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous accept. The asynchronous accept
// call also allows any initial data to be returned to the
// <handler>. Upto <bytes_to_read> will be read and stored in the
@@ -666,6 +690,9 @@ public:
//
// <message_block> must be specified. This is because the address of
// the new connection is placed at the end of this buffer.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Accept_Impl *implementation (void) const;
// Return the underlying implementation class.
@@ -779,7 +806,8 @@ public:
u_long bytes_per_send = 0,
u_long flags = 0,
const void *act = 0,
- int priority = 0);
+ int priority = 0,
+ int signal_number = ACE_SIGRTMIN);
// This starts off an asynchronous transmit file. The <file> is a
// handle to an open file. <header_and_trailer> is a pointer to a
// data structure that contains pointers to data to send before and
@@ -794,6 +822,9 @@ public:
// allowed. 0 means priority of the operation same as the process
// priority. 1 means priority of the operation is one less than
// process. And so forth. On Win32, this is a no-op.
+ // <signal_number> is the POSIX4 real-time signal number to be used
+ // for the operation. <signal_number> ranges from ACE_SIGRTMIN to
+ // ACE_SIGRTMAX. This argument is a no-op on non-POSIX4 systems.
ACE_Asynch_Transmit_File_Impl *implementation (void) const;
// Return the underlying implementation class.