aboutsummaryrefslogtreecommitdiff
path: root/src/core/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index e376b773..24403ac7 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -1489,9 +1489,7 @@ nni_dialer_add_pipe(nni_dialer *d, void *tpipe)
nni_pipe_run_cb(p, NNG_PIPE_EV_ADD_PRE);
- nni_mtx_lock(&s->s_mx);
- if (p->p_closed) {
- nni_mtx_unlock(&s->s_mx);
+ if (nni_pipe_is_closed(p)) {
#ifdef NNG_ENABLE_STATS
nni_stat_inc(&d->st_reject, 1);
nni_stat_inc(&s->st_rejects, 1);
@@ -1499,8 +1497,8 @@ nni_dialer_add_pipe(nni_dialer *d, void *tpipe)
nni_pipe_rele(p);
return;
}
+
if (p->p_proto_ops.pipe_start(p->p_proto_data) != 0) {
- nni_mtx_unlock(&s->s_mx);
#ifdef NNG_ENABLE_STATS
nni_stat_inc(&d->st_reject, 1);
nni_stat_inc(&s->st_rejects, 1);
@@ -1509,7 +1507,6 @@ nni_dialer_add_pipe(nni_dialer *d, void *tpipe)
nni_pipe_rele(p);
return;
}
- nni_mtx_unlock(&s->s_mx);
#ifdef NNG_ENABLE_STATS
nni_stat_register(&p->st_root);
#endif
@@ -1604,9 +1601,7 @@ nni_listener_add_pipe(nni_listener *l, void *tpipe)
nni_pipe_run_cb(p, NNG_PIPE_EV_ADD_PRE);
- nni_mtx_lock(&s->s_mx);
- if (p->p_closed) {
- nni_mtx_unlock(&s->s_mx);
+ if (nni_pipe_is_closed(p)) {
#ifdef NNG_ENABLE_STATS
nni_stat_inc(&l->st_reject, 1);
nni_stat_inc(&s->st_rejects, 1);
@@ -1615,7 +1610,6 @@ nni_listener_add_pipe(nni_listener *l, void *tpipe)
return;
}
if (p->p_proto_ops.pipe_start(p->p_proto_data) != 0) {
- nni_mtx_unlock(&s->s_mx);
#ifdef NNG_ENABLE_STATS
nni_stat_inc(&l->st_reject, 1);
nni_stat_inc(&s->st_rejects, 1);
@@ -1624,7 +1618,6 @@ nni_listener_add_pipe(nni_listener *l, void *tpipe)
nni_pipe_rele(p);
return;
}
- nni_mtx_unlock(&s->s_mx);
#ifdef NNG_ENABLE_STATS
nni_stat_register(&p->st_root);
#endif