diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/dialer.c | 5 | ||||
| -rw-r--r-- | src/core/listener.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/core/dialer.c b/src/core/dialer.c index 388d9981..6224ce9b 100644 --- a/src/core/dialer.c +++ b/src/core/dialer.c @@ -541,9 +541,12 @@ nni_dialer_start(nni_dialer *d, unsigned flags) void nni_dialer_stop(nni_dialer *d) { + d->d_ops.d_close(d->d_data); nni_aio_stop(&d->d_tmo_aio); nni_aio_stop(&d->d_con_aio); - d->d_ops.d_close(d->d_data); + if (d->d_ops.d_stop) { + d->d_ops.d_stop(d->d_data); + } } nni_sock * diff --git a/src/core/listener.c b/src/core/listener.c index 3dc2a0fa..1eeaa3cd 100644 --- a/src/core/listener.c +++ b/src/core/listener.c @@ -524,9 +524,12 @@ nni_listener_start(nni_listener *l, int flags) void nni_listener_stop(nni_listener *l) { + l->l_ops.l_close(l->l_data); nni_aio_stop(&l->l_tmo_aio); nni_aio_stop(&l->l_acc_aio); - l->l_ops.l_close(l->l_data); + if (l->l_ops.l_stop) { + l->l_ops.l_stop(l->l_data); + } } nni_sock * |
