diff options
Diffstat (limited to 'src/protocol/pubsub')
| -rw-r--r-- | src/protocol/pubsub/pub.c | 9 | ||||
| -rw-r--r-- | src/protocol/pubsub/sub.c | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/protocol/pubsub/pub.c b/src/protocol/pubsub/pub.c index 316cbf50..e32f179a 100644 --- a/src/protocol/pubsub/pub.c +++ b/src/protocol/pubsub/pub.c @@ -83,6 +83,7 @@ nni_pub_sock_fini(void *arg) { nni_pub_sock *pub = arg; + nni_aio_stop(&pub->aio_getq); nni_aio_fini(&pub->aio_getq); nni_mtx_fini(&pub->mtx); NNI_FREE_STRUCT(pub); @@ -100,7 +101,6 @@ static void nni_pub_pipe_fini(void *arg) { nni_pub_pipe *pp = arg; - nni_aio_fini(&pp->aio_getq); nni_aio_fini(&pp->aio_send); nni_aio_fini(&pp->aio_recv); @@ -172,9 +172,10 @@ nni_pub_pipe_stop(void *arg) nni_pub_pipe *pp = arg; nni_pub_sock *pub = pp->pub; - nni_aio_cancel(&pp->aio_getq, NNG_ECANCELED); - nni_aio_cancel(&pp->aio_send, NNG_ECANCELED); - nni_aio_cancel(&pp->aio_recv, NNG_ECANCELED); + nni_aio_stop(&pp->aio_getq); + nni_aio_stop(&pp->aio_send); + nni_aio_stop(&pp->aio_recv); + nni_msgq_close(pp->sendq); nni_mtx_lock(&pub->mtx); diff --git a/src/protocol/pubsub/sub.c b/src/protocol/pubsub/sub.c index 36a42c49..03d76e2d 100644 --- a/src/protocol/pubsub/sub.c +++ b/src/protocol/pubsub/sub.c @@ -123,8 +123,8 @@ nni_sub_pipe_stop(void *arg) { nni_sub_pipe *sp = arg; - nni_aio_cancel(&sp->aio_putq, NNG_ECANCELED); - nni_aio_cancel(&sp->aio_recv, NNG_ECANCELED); + nni_aio_stop(&sp->aio_putq); + nni_aio_stop(&sp->aio_recv); } static void |
