version 1.85, 2005/01/27 18:57:28
|
version 1.86, 2005/01/27 20:34:46
|
|
|
#include <Pegasus/Common/MessageQueueService.h> | #include <Pegasus/Common/MessageQueueService.h> |
#include <Pegasus/Common/Exception.h> | #include <Pegasus/Common/Exception.h> |
| |
|
|
#ifdef PEGASUS_OS_TYPE_WINDOWS | #ifdef PEGASUS_OS_TYPE_WINDOWS |
# if defined(FD_SETSIZE) && FD_SETSIZE != 1024 | # if defined(FD_SETSIZE) && FD_SETSIZE != 1024 |
# error "FD_SETSIZE was not set to 1024 prior to the last inclusion \ | # error "FD_SETSIZE was not set to 1024 prior to the last inclusion \ |
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
// Define a platform-neutral socket length type |
|
#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) |
|
typedef size_t PEGASUS_SOCKLEN_T; |
|
#elif defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX) || defined(PEGASUS_OS_LINUX) || (defined(PEGASUS_OS_SOLARIS) && !defined(SUNOS_5_6)) |
|
typedef socklen_t PEGASUS_SOCKLEN_T; |
|
#else |
|
typedef int PEGASUS_SOCKLEN_T; |
|
#endif |
| |
static AtomicInt _connections = 0; | static AtomicInt _connections = 0; |
| |
|
|
_tickle_server_addr.sin_family = PF_INET; | _tickle_server_addr.sin_family = PF_INET; |
_tickle_server_addr.sin_port = 0; | _tickle_server_addr.sin_port = 0; |
| |
PEGASUS_SOCKLEN_SIZE _addr_size = sizeof(_tickle_server_addr); |
PEGASUS_SOCKLEN_T _addr_size = sizeof(_tickle_server_addr); |
| |
// bind server side to socket | // bind server side to socket |
if((::bind(_tickle_server_socket, | if((::bind(_tickle_server_socket, |
|
|
| |
/* set up the slave connection */ | /* set up the slave connection */ |
memset(&_tickle_peer_addr, 0, sizeof(_tickle_peer_addr)); | memset(&_tickle_peer_addr, 0, sizeof(_tickle_peer_addr)); |
PEGASUS_SOCKLEN_SIZE peer_size = sizeof(_tickle_peer_addr); |
PEGASUS_SOCKLEN_T peer_size = sizeof(_tickle_peer_addr); |
pegasus_sleep(1); | pegasus_sleep(1); |
| |
// this call may fail, we will try a max of 20 times to establish this peer connection | // this call may fail, we will try a max of 20 times to establish this peer connection |