IN OUT LPDWORD lpdwDescriptorLength,\r
OUT LPINT lpErrno )\r
{\r
- struct memory_node *node;\r
+ struct memory_node *node2;\r
struct rdma_memory_desc *desc;\r
struct ibsp_socket_info *socket_info = (struct ibsp_socket_info *)s;\r
ib_access_t access_ctrl;\r
hca = socket_info->port->hca;\r
\r
/** TODO: Fix locking so we dont' dereference node outside of mutex. */\r
- node = ibsp_reg_mem( socket_info, hca->pd,\r
+ node2 = ibsp_reg_mem( socket_info, hca->pd,\r
lpBuffer, dwBufferLength, access_ctrl, lpErrno );\r
\r
- if( !node )\r
+ if( !node2 )\r
{\r
IBSP_ERROR_EXIT( ("ibsp_reg_mem failed %d\n", *lpErrno) );\r
*lpErrno = WSAENOBUFS;\r
desc = lpRdmaBufferDescriptor;\r
\r
desc->iova = (uint64_t) (uintptr_t) lpBuffer;\r
- desc->lkey = node->p_reg->lkey;\r
- desc->rkey = node->p_reg->rkey;\r
- desc->node = node;\r
+ desc->lkey = node2->p_reg->lkey;\r
+ desc->rkey = node2->p_reg->rkey;\r
+ desc->node1 = node2;\r
\r
*lpErrno = 0;\r
\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_MEM,\r
("Socket %Ix registered RDMA MEM at %p, len %d, for access %d, "\r
"returning handle %p, rkey %08x\n",\r
- s, lpBuffer, dwBufferLength, dwFlags, node, desc->rkey));\r
+ s, lpBuffer, dwBufferLength, dwFlags, node2, desc->rkey));\r
\r
\r
IBSP_EXIT( IBSP_DBG_MEM );\r
\r
desc = lpRdmaBufferDescriptor;\r
\r
- ret = ibsp_dereg_mem( socket_info, desc->node, lpErrno );\r
+ ret = ibsp_dereg_mem( socket_info, desc->node1, lpErrno );\r
\r
fzprint(("%s():%d:0x%x:0x%x: Unregistering RDMA MEM %p\n",\r
__FUNCTION__, __LINE__, GetCurrentProcessId(),\r
\r
CL_ASSERT( wr_type == WR_RDMA_WRITE || wr_type == WR_RDMA_READ );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
switch( socket_info->socket_state )\r
{\r
case IBSP_CONNECTED:\r
break;\r
\r
default:\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("Socket is not in connected socket_state state=%s\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
*lpErrno = WSAENOTCONN;\r
return SOCKET_ERROR;\r
}\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
if( socket_info->qp_error )\r
{\r
CL_ASSERT( socket_info );\r
CL_ASSERT( p_cm_req_rec->p_req_pdata );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
switch( socket_info->socket_state )\r
{\r
/* Non-blocking cancel since we're in CM callback context */\r
ib_cm_cancel( socket_info->listen.handle, NULL );\r
socket_info->listen.handle = NULL;\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
wait_cq_drain( socket_info );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
ret = ib_accept( socket_info, p_cm_req_rec );\r
if( ret )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR( (\r
"ib_accept for duplicate socket returned %d, rejecting\n",\r
ret) );\r
break;\r
}\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CM );\r
}\r
cm_rtu.pfn_cm_apr_cb = cm_apr_callback;\r
cm_rtu.pfn_cm_dreq_cb = cm_dreq_callback;\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
switch( socket_info->socket_state )\r
{\r
ib_reject( p_cm_rep_rec->h_cm_rep, IB_REJ_USER_DEFINED );\r
}\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CM );\r
}\r
\r
IBSP_ENTER( IBSP_DBG_CM );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
if( socket_info->socket_state == IBSP_DUPLICATING_REMOTE )\r
{\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
}\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CM );\r
}\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_CM, ("socket %p connect reject, reason=%d\n",\r
socket_info, cl_ntoh16(p_cm_rej_rec->rej_status)) );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
switch( socket_info->socket_state )\r
{\r
break;\r
}\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CM );\r
}\r
\r
reason = (struct disconnect_reason * __ptr64)p_cm_dreq_rec->p_dreq_pdata;\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
if( socket_info->socket_state == IBSP_CONNECTED )\r
{\r
if( status != IB_SUCCESS )\r
IBSP_ERROR( ("ib_cm_drep returned %s\n", ib_get_err_str( status )) );\r
}\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CM );\r
}\r
\r
/* We can empty the queue now. Since we are closing, \r
* no new entry will be added. */\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
ib_listen_backlog( socket_info, 0 );\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
socket_info->listen.handle = NULL;\r
\r
if( WaitForSingleObject( socket_info->h_event, INFINITE ) != WAIT_OBJECT_0 )\r
IBSP_ERROR( ("WaitForSingleObject failed\n") );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
if( socket_info->socket_state != IBSP_CONNECTED )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR( ("Failed to connect\n") );\r
ret = WSAENETDOWN;\r
err2:\r
else\r
{\r
ret = 0;\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
}\r
\r
err1:\r
("Duplicating socket=0x%p to dwProcessId=0x%x \n",\r
socket_info, dwProcessId) );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
if( socket_info->socket_state != IBSP_CONNECTED )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_PRINT_EXIT(TRACE_LEVEL_INFORMATION, IBSP_DBG_DUP,\r
("Socket state not IBSP_CONNECTED, state=%s.\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
PAGE_READWRITE, 0, sizeof(struct ibsp_duplicate_info), fname );\r
if( !h_dup_info )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("CreateFileMapping for %s failed with %d\n",\r
fname, GetLastError()) );\r
*lpErrno = WSAENETDOWN;\r
dup_info = MapViewOfFile( h_dup_info, FILE_MAP_WRITE, 0, 0, 0 );\r
if( !dup_info )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("MapViewOfFile failed with %d\n", GetLastError()) );\r
CloseHandle( h_dup_info );\r
*lpErrno = WSAENETDOWN;\r
h_target_process = OpenProcess( PROCESS_DUP_HANDLE, FALSE, dwProcessId );\r
if( !h_target_process )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("OpenProcess failed with %d\n", GetLastError()) );\r
CloseHandle( h_dup_info );\r
*lpErrno = WSAENETDOWN;\r
h_target_process, &h_target_dup_info, 0, TRUE,\r
DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS ) )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("DuplicateHandle failed with %d\n", GetLastError()) );\r
CloseHandle( h_target_process );\r
*lpErrno = WSAENETDOWN;\r
/* We changed the state - remove from connection map. */\r
ibsp_conn_remove( socket_info );\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
wait_cq_drain( socket_info );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
ib_destroy_socket( socket_info );\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
/* And that's it */\r
IBSP_EXIT( IBSP_DBG_DUP );\r
switch ( wc->wc_type ) \r
{\r
case IB_WC_RECV:\r
- CL_ASSERT(wc->length != 0);\r
+ CL_ASSERT(wc->length != 0);\r
lpOverlapped->InternalHigh = wc->length;\r
#ifdef IBSP_LOGGING\r
cl_spinlock_acquire( &socket_info->recv_lock );\r
break;\r
\r
case IB_WC_RDMA_READ:\r
+ CL_ASSERT(wc->length != 0);\r
lpOverlapped->InternalHigh = wc->length;\r
#ifdef PERFMON_ENABLED\r
InterlockedIncrement64( &g_pm_stat.pdata[COMP_RECV] );\r
break;\r
\r
case IB_WCS_WR_FLUSHED_ERR:\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
if( socket_info->socket_state == IBSP_DUPLICATING_REMOTE &&\r
wc->wc_type == IB_WC_RECV )\r
\r
cl_spinlock_release( &socket_info->recv_lock );\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
p_io_info->p_ov = NULL;\r
IBSP_EXIT( IBSP_DBG_IO );\r
return;\r
else\r
wr->lpOverlapped->OffsetHigh = WSA_OPERATION_ABORTED;\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
/* Override the length, as per the WSD specs. */\r
wr->lpOverlapped->InternalHigh = 0;\r
#endif\r
\r
p_io_info->p_ov = lpOverlapped;\r
- cl_atomic_inc( &socket_info->ref_cnt );\r
+ cl_atomic_inc( &socket_info->ref_cnt1 );\r
}\r
\r
if( wc->wc_type == IB_WC_RECV )\r
\r
if( socket_info->qp )\r
{\r
- cl_atomic_inc( &socket_info->ref_cnt );\r
+ cl_atomic_inc( &socket_info->ref_cnt1 );\r
status = ib_destroy_qp( socket_info->qp, deref_socket_info );\r
if( status != IB_SUCCESS )\r
{\r
\r
IBSP_ENTER( IBSP_DBG_EP );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
old_state = socket_info->socket_state;\r
IBSP_CHANGE_SOCKET_STATE( socket_info, IBSP_CLOSED );\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
if( socket_info->listen.handle )\r
{\r
*ip_list_size = (DWORD) size_req;\r
*lpErrno = WSAEFAULT;\r
IBSP_ERROR_EXIT( (\r
- "returning efault, size %Id (usually not an error)", size_req) );\r
+ "returning default, size %Id (usually not an error)\n", size_req) );\r
return SOCKET_ERROR;\r
}\r
\r
\r
cl_qlist_remove_item( &node->s->mr_list, &node->socket_item );\r
\r
+\r
+ memset(node,0x45,sizeof node);\r
HeapFree( g_ibsp.heap, 0, node );\r
\r
IBSP_EXIT( IBSP_DBG_MEM );\r
&new_socket_info->local_addr, &new_socket_info->peer_addr );\r
#endif\r
\r
- cl_spinlock_acquire( &new_socket_info->mutex );\r
+ cl_spinlock_acquire( &new_socket_info->mutex1 );\r
/* Update the state of the socket context */\r
IBSP_CHANGE_SOCKET_STATE( new_socket_info, IBSP_CONNECTED );\r
\r
if( *lpErrno )\r
{\r
IBSP_CHANGE_SOCKET_STATE( new_socket_info, IBSP_CREATE );\r
- cl_spinlock_release( &new_socket_info->mutex );\r
+ cl_spinlock_release( &new_socket_info->mutex1 );\r
\r
if( *lpErrno == WSAEADDRINUSE )\r
{\r
&g_ibsp.socket_info_list, &new_socket_info->item );\r
cl_spinlock_release( &g_ibsp.socket_info_mutex );\r
\r
- cl_spinlock_release( &new_socket_info->mutex );\r
+ cl_spinlock_release( &new_socket_info->mutex1 );\r
\r
IBSP_PRINT_EXIT(TRACE_LEVEL_INFORMATION, IBSP_DBG_CONN,\r
("returns new socket (0x%p)\n", new_socket_info) );\r
* there is one, create a socket, and then query the switch about\r
* the pending connection */\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
/* Verify the state of the socket */\r
if( socket_info->socket_state != IBSP_LISTEN )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("Socket is not in right socket_state (%s)\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
*lpErrno = WSAEINVAL;\r
\r
if( cl_qlist_count( &socket_info->listen.list ) == 0 )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_ERROR_EXIT( ("No pending connection found for this socket\n") );\r
*lpErrno = WSAEWOULDBLOCK;\r
/* Signal the event again if there are more connection requests. */\r
if( cl_qlist_count( &socket_info->listen.list ) )\r
ibsp_post_select_event( socket_info, FD_ACCEPT, 0 );\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
port = socket_info->port;\r
\r
ib_cm_mra( incoming->cm_req_received.h_cm_req, &mra );\r
\r
/* Put the item back at the head of the list. */\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
cl_qlist_insert_head( &socket_info->listen.list, &incoming->item );\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_CONN,\r
("Conditional routine returned CF_DEFER\n") );\r
\r
/* We are going to take this mutex for some time, \r
* but at this stage, it shouldn't impact anything. */\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
/* Verify the state of the socket */\r
if( socket_info->socket_state != IBSP_CREATE )\r
{\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR( (\r
"Invalid socket state (%s)\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
if( ret )\r
{\r
socket_info->port = NULL;\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR( ("ib_create socket failed with %d\n", ret) );\r
*lpErrno = WSAENOBUFS;\r
goto error;\r
\r
IBSP_CHANGE_SOCKET_STATE( socket_info, IBSP_BIND );\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
IBSP_EXIT( IBSP_DBG_CONN );\r
return 0;\r
return SOCKET_ERROR;\r
}\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
/* Verify the state of the socket */\r
switch( socket_info->socket_state )\r
}\r
\r
done:\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_EXIT( IBSP_DBG_CONN );\r
return SOCKET_ERROR;\r
}\r
__FUNCTION__, __LINE__, GetCurrentProcessId(), GetCurrentThreadId(), s,\r
lpOverlapped, *lpErrno, rc));\r
\r
+ if (rc == TRUE) CL_ASSERT(*lpcbTransfer > 0);\r
+\r
IBSP_EXIT( IBSP_DBG_IO );\r
return rc;\r
}\r
fzprint(("%s():%d:0x%x:0x%x: socket=0x%p\n", __FUNCTION__,\r
__LINE__, GetCurrentProcessId(), GetCurrentThreadId(), s));\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_CONN, ("socket_state is %s\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
break;\r
}\r
\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
*lpErrno = ret;\r
\r
return SOCKET_ERROR;\r
}\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
switch( socket_info->socket_state )\r
{\r
case IBSP_CONNECTED:\r
break;\r
\r
default:\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("Socket is not in connected socket_state state=%s\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
*lpErrno = WSAENOTCONN;\r
return SOCKET_ERROR;\r
}\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
if( socket_info->qp_error != 0 )\r
{\r
CL_ASSERT( lpCompletionRoutine == NULL );\r
CL_ASSERT( lpOverlapped != NULL );\r
\r
- cl_spinlock_acquire( &socket_info->mutex );\r
+ cl_spinlock_acquire( &socket_info->mutex1 );\r
switch( socket_info->socket_state )\r
{\r
case IBSP_CONNECTED:\r
break;\r
\r
default:\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
IBSP_ERROR_EXIT( ("Socket is not in connected socket_state state=%s\n",\r
IBSP_SOCKET_STATE_STR( socket_info->socket_state )) );\r
*lpErrno = WSAENOTCONN;\r
return SOCKET_ERROR;\r
}\r
- cl_spinlock_release( &socket_info->mutex );\r
+ cl_spinlock_release( &socket_info->mutex1 );\r
\r
if( socket_info->qp_error )\r
{\r
uint64_t iova;\r
uint32_t lkey;\r
uint32_t rkey;\r
- struct memory_node *node; /* valid only on registering node */\r
+ struct memory_node *node1; /* valid only on registering node */\r
};\r
\r
struct cq_thread_info\r
{\r
cl_list_item_t item; /* Link to next SOCKET_INFO in the global list */\r
cl_rbmap_item_t conn_item;\r
- cl_spinlock_t mutex; /* protect this structure */\r
+ cl_spinlock_t mutex1; /* protect this structure */\r
\r
/* Switch socket handle created by WPUCreateSocketHandle. */\r
SOCKET switch_socket;\r
* Used to stall destruction of switch socket until all completion\r
* upcalls have unwound.\r
*/\r
- atomic32_t ref_cnt;\r
+ atomic32_t ref_cnt1;\r
\r
#ifdef _DEBUG_\r
atomic32_t send_comp;\r
return NULL;\r
}\r
\r
- cl_spinlock_construct( &socket_info->mutex );\r
+ cl_spinlock_construct( &socket_info->mutex1 );\r
cl_spinlock_construct( &socket_info->send_lock );\r
cl_spinlock_construct( &socket_info->recv_lock );\r
cl_qlist_init( &socket_info->mr_list );\r
cl_qlist_init( &socket_info->listen.list );\r
\r
- if( cl_spinlock_init( &socket_info->mutex ) != CL_SUCCESS )\r
+ if( cl_spinlock_init( &socket_info->mutex1 ) != CL_SUCCESS )\r
goto err;\r
\r
if( cl_spinlock_init( &socket_info->send_lock ) != CL_SUCCESS )\r
* Preset to 1, IBSPCloseSocket will decrement it, and switch socket\r
* will be freed once it goes to zero.\r
*/\r
- socket_info->ref_cnt = 1;\r
+ socket_info->ref_cnt1 = 1;\r
\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_SI, ("socket_info (%p), switch socket (%p)\n",\r
socket_info, (void*)socket_info->switch_socket) );\r
CL_ASSERT( !p_socket->qp );\r
CL_ASSERT( !p_socket->conn_item.p_map );\r
\r
- cl_spinlock_destroy( &p_socket->mutex );\r
+ cl_spinlock_destroy( &p_socket->mutex1 );\r
\r
cl_spinlock_destroy( &p_socket->send_lock );\r
cl_spinlock_destroy( &p_socket->recv_lock );\r
{\r
IBSP_ENTER( IBSP_DBG_SI );\r
\r
- if( !cl_atomic_dec( &p_socket->ref_cnt ) )\r
+ if( !cl_atomic_dec( &p_socket->ref_cnt1 ) )\r
{\r
free_socket_info( p_socket );\r
IBSP_PRINT(TRACE_LEVEL_INFORMATION, IBSP_DBG_SI, ("Freed socket_info (%p)\n", p_socket) );\r