Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
ACE_LOCK_SOCK_Acceptor< ACE_LOCK > Class Template Reference
Specialize <ACE_SOCK_Acceptor> to lock around <accept>;.
More...
#include <LOCK_SOCK_Acceptor.h>
Inheritance diagram for ACE_LOCK_SOCK_Acceptor< ACE_LOCK >:
[legend]Collaboration diagram for ACE_LOCK_SOCK_Acceptor< ACE_LOCK >:
[legend]List of all members.
|
Public Methods |
int | accept (ACE_SOCK_Stream &new_stream, ACE_Addr *remote_addr=0, ACE_Time_Value *timeout=0, int restart=1, int reset_new_handle=0) const |
| Accept the connection under the control of the <ACE_LOCK>.
|
ACE_LOCK & | lock (void) |
| Return a reference to the lock.
|
Protected Attributes |
ACE_LOCK | lock_ |
| Type of locking mechanism.
|
Detailed Description
template<class ACE_LOCK>
class ACE_LOCK_SOCK_Acceptor< ACE_LOCK >
Specialize <ACE_SOCK_Acceptor> to lock around <accept>;.
This class is necessary since some OS platforms (e.g., Solaris 2.5) do not allow multiple threads/processes to simultaneously call <accept> on the same listen-mode port/socket. Thus, we need to protect against multiple concurrent accesses by using the appropriate type of lock.
Member Function Documentation
template<class ACE_LOCK> |
int ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::accept |
( |
ACE_SOCK_Stream & |
new_stream, |
|
|
ACE_Addr * |
remote_addr = 0, |
|
|
ACE_Time_Value * |
timeout = 0, |
|
|
int |
restart = 1, |
|
|
int |
reset_new_handle = 0 |
|
) |
const |
|
|
Accept the connection under the control of the <ACE_LOCK>.
Reimplemented from ACE_SOCK_Acceptor. |
template<class ACE_LOCK> |
ACE_LOCK & ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock |
( |
void |
|
) |
|
|
|
Return a reference to the lock.
|
Member Data Documentation
template<class ACE_LOCK> |
ACE_LOCK ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock_ [protected]
|
|
|
Type of locking mechanism.
|
The documentation for this class was generated from the following files:
Generated on Wed Jan 14 22:44:10 2004 for ACE by
1.2.18