diff options
Diffstat (limited to 'rpc/rpc-transport/socket/src/socket.c')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index 8bda3810d89..8269b08279e 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -2562,10 +2562,17 @@ err:          __socket_teardown_connection (this);          sys_close (priv->sock);          priv->sock = -1; + +        sys_close (priv->pipe[0]); +        sys_close (priv->pipe[1]); +        priv->pipe[0] = -1; +        priv->pipe[1] = -1; +          priv->ot_state = OT_IDLE; +          pthread_mutex_unlock(&priv->lock); -        rpc_transport_notify (this, RPC_TRANSPORT_DISCONNECT, this); +        rpc_transport_notify (this, RPC_TRANSPORT_DISCONNECT, this);          rpc_transport_unref (this);  | 
