aboutsummaryrefslogtreecommitdiff
path: root/src/protocol/pair
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol/pair')
-rw-r--r--src/protocol/pair/pair_v1.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/protocol/pair/pair_v1.c b/src/protocol/pair/pair_v1.c
index 183c260a..1a7ad9fa 100644
--- a/src/protocol/pair/pair_v1.c
+++ b/src/protocol/pair/pair_v1.c
@@ -177,16 +177,16 @@ pair1_pipe_stop(void *arg)
pair1_pipe *p = arg;
pair1_sock *s = p->psock;
+ nni_mtx_lock(&s->mtx);
+ nni_idhash_remove(s->pipes, nni_pipe_id(p->npipe));
+ nni_list_node_remove(&p->node);
+ nni_mtx_unlock(&s->mtx);
+
nni_msgq_close(p->sendq);
nni_aio_cancel(&p->aio_send, NNG_ECANCELED);
nni_aio_cancel(&p->aio_recv, NNG_ECANCELED);
nni_aio_cancel(&p->aio_putq, NNG_ECANCELED);
nni_aio_cancel(&p->aio_getq, NNG_ECANCELED);
-
- nni_mtx_lock(&s->mtx);
- nni_idhash_remove(s->pipes, nni_pipe_id(p->npipe));
- nni_list_node_remove(&p->node);
- nni_mtx_unlock(&s->mtx);
}
static void