Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_LOCK_SOCK_Acceptor Class Template Reference

Specialize <ACE_SOCK_Acceptor> to lock around <accept>;. More...

`#include <LOCK_SOCK_Acceptor.h>`

Inheritance diagram for ACE_LOCK_SOCK_Acceptor:

[legend]
Collaboration diagram for ACE_LOCK_SOCK_Acceptor:

[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>. More...
ACE_LOCK & | lock (void)
| Return a reference to the lock. More...
## Protected Attributes
ACE_LOCK | lock_
| Type of locking mechanism. More...

## 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 & | stream,
|  | ACE_Addr * | remote_address = 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::lock_`[protected]`

| Type of locking mechanism.

The documentation for this class was generated from the following files:

- LOCK_SOCK_Acceptor.h
- LOCK_SOCK_Acceptor.cpp