diff options
Diffstat (limited to 'xlators/protocol/server/src/server.c')
-rw-r--r-- | xlators/protocol/server/src/server.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 2851f8cea86..4fcce6e99d2 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -424,11 +424,16 @@ server_rpc_notify (rpcsvc_t *rpc, void *xl, rpcsvc_event_t event, case RPCSVC_EVENT_DISCONNECT: conn = get_server_conn_state (this, xprt); if (conn) - server_connection_put (this, conn); + server_connection_cleanup (this, conn); list_del (&xprt->list); break; + case RPCSVC_EVENT_TRANSPORT_DESTROY: + conn = get_server_conn_state (this, xprt); + if (conn) + server_connection_put (this, conn); + break; default: break; } |