diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-12-19 10:21:54 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-12-19 12:50:05 -0800 |
| commit | d12e169c1e733b255d146847ed57037b74681285 (patch) | |
| tree | e4a59142a6cf097dfdda8620635f173f53db9e7a /src/core/dialer.c | |
| parent | 2033988343bce413763d3e9664e3e8372da48591 (diff) | |
| download | nng-d12e169c1e733b255d146847ed57037b74681285.tar.gz nng-d12e169c1e733b255d146847ed57037b74681285.tar.bz2 nng-d12e169c1e733b255d146847ed57037b74681285.zip | |
fixes #1372 nni_reap could be smaller
Diffstat (limited to 'src/core/dialer.c')
| -rw-r--r-- | src/core/dialer.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/dialer.c b/src/core/dialer.c index 3efbcabd..1f9a5e58 100644 --- a/src/core/dialer.c +++ b/src/core/dialer.c @@ -326,12 +326,16 @@ nni_dialer_hold(nni_dialer *d) void nni_dialer_rele(nni_dialer *d) { + bool reap; + nni_mtx_lock(&dialers_lk); d->d_ref--; - if ((d->d_ref == 0) && (d->d_closed)) { - nni_reap(&d->d_reap, (nni_cb) nni_dialer_reap, d); - } + reap = ((d->d_ref == 0) && (d->d_closed)); nni_mtx_unlock(&dialers_lk); + + if (reap) { + nni_dialer_reap(d); + } } void |
