diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-15 16:50:49 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-15 16:50:49 -0700 |
| commit | 0d48c9d4f359ec79f9cc10db3e0e04cb7a58623e (patch) | |
| tree | f1b0dd28372a92d756e6cd42eb949829d007a591 /src/core/endpt.c | |
| parent | 7f95fde8d752dd93c20ff0a209334f4aec549111 (diff) | |
| download | nng-0d48c9d4f359ec79f9cc10db3e0e04cb7a58623e.tar.gz nng-0d48c9d4f359ec79f9cc10db3e0e04cb7a58623e.tar.bz2 nng-0d48c9d4f359ec79f9cc10db3e0e04cb7a58623e.zip | |
Race conditions removed... TCP tests work well know.
Diffstat (limited to 'src/core/endpt.c')
| -rw-r--r-- | src/core/endpt.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/endpt.c b/src/core/endpt.c index a99cd21a..f221be18 100644 --- a/src/core/endpt.c +++ b/src/core/endpt.c @@ -154,6 +154,12 @@ nni_ep_close(nni_ep *ep) ep->ep_closed = 1; nni_mtx_unlock(&ep->ep_mtx); + // Abort any remaining in-flight operations. + nni_aio_cancel(&ep->ep_acc_aio, NNG_ECLOSED); + nni_aio_cancel(&ep->ep_con_aio, NNG_ECLOSED); + nni_aio_cancel(&ep->ep_con_syn, NNG_ECLOSED); + + // Stop the underlying transport. ep->ep_ops.ep_close(ep->ep_data); } @@ -164,11 +170,6 @@ nni_ep_reap(nni_ep *ep) nni_ep_close(ep); // Extra sanity. - // Abort any in-flight operations. - nni_aio_stop(&ep->ep_acc_aio); - nni_aio_stop(&ep->ep_con_aio); - nni_aio_stop(&ep->ep_con_syn); - // Take us off the sock list. nni_sock_ep_remove(ep->ep_sock, ep); |
