#include <LOCK_SOCK_Acceptor.h>
Inheritance diagram for ACE_LOCK_SOCK_Acceptor< ACE_LOCK >:
Public Member Functions | |
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. |
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.
Definition at line 38 of file LOCK_SOCK_Acceptor.h.
ACE_BEGIN_VERSIONED_NAMESPACE_DECL 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.
Definition at line 12 of file LOCK_SOCK_Acceptor.cpp.
References ACE_SOCK_Acceptor::accept(), and ACE_GUARD_RETURN.
00017 { 00018 ACE_GUARD_RETURN (ACE_LOCK, ace_mon, (ACE_LOCK &) this->lock_, -1); 00019 00020 return ACE_SOCK_Acceptor::accept (stream, 00021 remote_address, 00022 timeout, 00023 restart, 00024 reset_new_handle); 00025 }
ACE_LOCK & ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock | ( | void | ) |
Return a reference to the lock.
Definition at line 28 of file LOCK_SOCK_Acceptor.cpp.
References ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock_.
00029 { 00030 return this->lock_; 00031 }
ACE_LOCK ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock_ [protected] |
Type of locking mechanism.
Definition at line 53 of file LOCK_SOCK_Acceptor.h.
Referenced by ACE_LOCK_SOCK_Acceptor< ACE_LOCK >::lock().