diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-04-04 09:41:12 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-04-04 09:41:12 -0700 |
| commit | 0aa1de1316b46bb4af23fdf26759bca08008eaf5 (patch) | |
| tree | aad04dd247016e6ef31469d2f92b64e633565da9 /src/transport/tcp | |
| parent | 4e6a71bf2f0fdfdfe15a774a5d541aa22b8b9195 (diff) | |
| download | nng-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/tcp')
| -rw-r--r-- | src/transport/tcp/tcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/transport/tcp/tcp.c b/src/transport/tcp/tcp.c index 7f819d4f..9db5b016 100644 --- a/src/transport/tcp/tcp.c +++ b/src/transport/tcp/tcp.c @@ -250,8 +250,7 @@ nni_tcp_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 @@ -321,9 +320,8 @@ nni_tcp_pipe_recv_cb(void *arg) } nni_mtx_unlock(&p->mtx); - nni_aio_set_synch(aio); nni_aio_set_msg(aio, msg); - nni_aio_finish(aio, 0, nni_msg_len(msg)); + nni_aio_finish_synch(aio, 0, nni_msg_len(msg)); return; recv_error: |
