rx-getputconnection-20041011

FIXES 15584

add Get/PutConnection funcs to diddle conn refCounts.
This commit is contained in:
Jeffrey Hutzelman 2004-10-11 19:35:30 +00:00 committed by Derrick Brashear
parent d0898af187
commit 3b9cdc23b5
4 changed files with 19 additions and 1 deletions

View File

@ -199,3 +199,4 @@ EXPORTS
xdr_int64 @204
xdr_uint64 @205
rx_SetMaxMTU @206
rx_GetConnection @207

View File

@ -1015,6 +1015,20 @@ rx_DestroyConnection(register struct rx_connection *conn)
USERPRI;
}
void
rx_GetConnection(register struct rx_connection *conn)
{
SPLVAR;
NETPRI;
AFS_RXGLOCK();
MUTEX_ENTER(&conn->conn_data_lock);
conn->refCount++;
MUTEX_EXIT(&conn->conn_data_lock);
AFS_RXGUNLOCK();
USERPRI;
}
/* Start a new rx remote procedure call, on the specified connection.
* If wait is set to 1, wait for a free call channel; otherwise return
* 0. Maxtime gives the maximum number of seconds this call may take,

View File

@ -211,6 +211,8 @@ returned with an error code of RX_CALL_DEAD ( transient error ) */
#define rx_EnableHotThread() (rx_enable_hot_thread = 1)
#define rx_DisableHotThread() (rx_enable_hot_thread = 0)
#define rx_PutConnection(conn) rx_DestroyConnection(conn)
/* A connection is an authenticated communication path, allowing
limited multiple asynchronous conversations. */
#ifdef KDUMP_RX_LOCK

View File

@ -26,6 +26,7 @@ extern void rx_SetConnDeadTime(register struct rx_connection *conn,
register int seconds);
extern void rxi_CleanupConnection(struct rx_connection *conn);
extern void rxi_DestroyConnection(register struct rx_connection *conn);
extern void rx_GetConnection(register struct rx_connection *conn);
extern void rx_DestroyConnection(register struct rx_connection *conn);
extern struct rx_call *rx_NewCall(register struct rx_connection *conn);
extern int rxi_HasActiveCalls(register struct rx_connection *aconn);