aboutsummaryrefslogtreecommitdiff
path: root/src/transport/ipc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-04-04 09:41:12 -0700
committerGarrett D'Amore <garrett@damore.org>2018-04-04 09:41:12 -0700
commit0aa1de1316b46bb4af23fdf26759bca08008eaf5 (patch)
treeaad04dd247016e6ef31469d2f92b64e633565da9 /src/transport/ipc
parent4e6a71bf2f0fdfdfe15a774a5d541aa22b8b9195 (diff)
downloadnng-0aa1de1316b46bb4af23fdf26759bca08008eaf5.tar.gz
nng-0aa1de1316b46bb4af23fdf26759bca08008eaf5.tar.bz2
nng-0aa1de1316b46bb4af23fdf26759bca08008eaf5.zip
fixes #324 nni_aio_set_synch leads to race condition
fixes #325 synchronous aio completion crash fixes #327 move nni_clock() operations to outside the nni_aio_lk. This work was done for the context tree, and is necessary to properly enable that branch.
Diffstat (limited to 'src/transport/ipc')
-rw-r--r--src/transport/ipc/ipc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/transport/ipc/ipc.c b/src/transport/ipc/ipc.c
index e2bb5f99..98d3f177 100644
--- a/src/transport/ipc/ipc.c
+++ b/src/transport/ipc/ipc.c
@@ -252,8 +252,7 @@ nni_ipc_pipe_send_cb(void *arg)
n = nni_msg_len(msg);
nni_aio_set_msg(aio, NULL);
nni_msg_free(msg);
- nni_aio_set_synch(aio);
- nni_aio_finish(aio, 0, n);
+ nni_aio_finish_synch(aio, 0, n);
}
static void
@@ -341,8 +340,7 @@ nni_ipc_pipe_recv_cb(void *arg)
nni_mtx_unlock(&pipe->mtx);
nni_aio_set_msg(aio, msg);
- nni_aio_set_synch(aio);
- nni_aio_finish(aio, 0, nni_msg_len(msg));
+ nni_aio_finish_synch(aio, 0, nni_msg_len(msg));
return;
recv_error: