summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rpc/rpc-transport/socket/src/socket.c9
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 89817b663df..257898865b4 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -2565,10 +2565,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);