diff options
Diffstat (limited to 'src/sp/protocol/pubsub0/sub.c')
| -rw-r--r-- | src/sp/protocol/pubsub0/sub.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/sp/protocol/pubsub0/sub.c b/src/sp/protocol/pubsub0/sub.c index cc1fc397..86f1d519 100644 --- a/src/sp/protocol/pubsub0/sub.c +++ b/src/sp/protocol/pubsub0/sub.c @@ -97,18 +97,12 @@ sub0_ctx_recv(void *arg, nni_aio *aio) sub0_sock *sock = ctx->sock; nni_msg *msg; - if (nni_aio_begin(aio) != 0) { - return; - } - nni_mtx_lock(&sock->lk); again: if (nni_lmq_empty(&ctx->lmq)) { - int rv; - if ((rv = nni_aio_schedule(aio, sub0_ctx_cancel, ctx)) != 0) { + if (!nni_aio_start(aio, sub0_ctx_cancel, ctx)) { nni_mtx_unlock(&sock->lk); - nni_aio_finish_error(aio, rv); return; } nni_list_append(&ctx->recv_queue, aio); |
