aboutsummaryrefslogtreecommitdiff
path: root/src/core/dialer.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2020-12-19 10:21:54 -0800
committerGarrett D'Amore <garrett@damore.org>2020-12-19 12:50:05 -0800
commitd12e169c1e733b255d146847ed57037b74681285 (patch)
treee4a59142a6cf097dfdda8620635f173f53db9e7a /src/core/dialer.c
parent2033988343bce413763d3e9664e3e8372da48591 (diff)
downloadnng-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.c10
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