summaryrefslogtreecommitdiff
path: root/src/core/socket.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-08-24 16:27:53 -0700
committerGarrett D'Amore <garrett@damore.org>2017-08-24 16:27:53 -0700
commit2e5f47aed81992a8dba4b27823894507794fc0ad (patch)
tree2383f0139d6931efbbc20ac63be6dfbc1f6e1279 /src/core/socket.c
parentc9a68bfe6bea2acc708bf49045f6cb65017a3306 (diff)
downloadnng-2e5f47aed81992a8dba4b27823894507794fc0ad.tar.gz
nng-2e5f47aed81992a8dba4b27823894507794fc0ad.tar.bz2
nng-2e5f47aed81992a8dba4b27823894507794fc0ad.zip
Fix a few warnings and subtle test races.
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index be1c2d96..6a242558 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -307,6 +307,10 @@ nni_sock_destroy(nni_sock *s)
nni_free_opt(sopt);
}
+ // This exists to silence a false positive in helgrind.
+ nni_mtx_lock(&s->s_mx);
+ nni_mtx_unlock(&s->s_mx);
+
nni_ev_fini(&s->s_send_ev);
nni_ev_fini(&s->s_recv_ev);
nni_msgq_fini(s->s_urq);
@@ -764,7 +768,7 @@ nni_sock_ep_remove(nni_sock *sock, nni_ep *ep)
nni_mtx_lock(&sock->s_mx);
if (nni_list_active(&sock->s_eps, ep)) {
nni_list_remove(&sock->s_eps, ep);
- if ((sock->s_closed) && (nni_list_empty(&sock->s_eps))) {
+ if ((sock->s_closing) && (nni_list_empty(&sock->s_eps))) {
nni_cv_wake(&sock->s_cv);
}
}