diff options
Diffstat (limited to 'src/core/socket.c')
| -rw-r--r-- | src/core/socket.c | 13 |
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 |
