diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-01-18 10:11:51 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-01-18 10:11:51 -0800 |
| commit | 7a9c328c4fd29fa7ba3dce8c8189384cd855d244 (patch) | |
| tree | 650ba9a592957fffd71d3adcfcfbb45155b668e7 /src/core/socket.c | |
| parent | c44386d110f5f335a34cc964768ab14d36b6dd36 (diff) | |
| download | nng-7a9c328c4fd29fa7ba3dce8c8189384cd855d244.tar.gz nng-7a9c328c4fd29fa7ba3dce8c8189384cd855d244.tar.bz2 nng-7a9c328c4fd29fa7ba3dce8c8189384cd855d244.zip | |
Fix leaking notify structs.
Diffstat (limited to 'src/core/socket.c')
| -rw-r--r-- | src/core/socket.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/socket.c b/src/core/socket.c index a7dfd07f..1b4d1585 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -408,6 +408,7 @@ void nni_sock_close(nni_sock *sock) { int i; + nni_notify *notify; // Shutdown everything if not already done. This operation // is idempotent. @@ -427,6 +428,10 @@ nni_sock_close(nni_sock *sock) for (i = 0; i < NNI_MAXWORKERS; i++) { nni_thr_fini(&sock->s_worker_thr[i]); } + while ((notify = nni_list_first(&sock->s_notify)) != NULL) { + nni_list_remove(&sock->s_notify, notify); + NNI_FREE_STRUCT(notify); + } nni_thr_fini(&sock->s_notifier); nni_thr_fini(&sock->s_reaper); nni_msgq_fini(sock->s_urq); |
