aboutsummaryrefslogtreecommitdiff
path: root/src/core
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
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')
-rw-r--r--src/core/idhash.c2
-rw-r--r--src/core/options.c2
-rw-r--r--src/core/socket.c6
3 files changed, 7 insertions, 3 deletions
diff --git a/src/core/idhash.c b/src/core/idhash.c
index 6d8c8163..c0030f76 100644
--- a/src/core/idhash.c
+++ b/src/core/idhash.c
@@ -174,7 +174,7 @@ nni_hash_resize(nni_idhash *h)
h->ih_maxload = 5;
}
for (i = 0; i < oldsize; i++) {
- uint32_t index;
+ size_t index;
if (oldents[i].ihe_val == NULL) {
continue;
}
diff --git a/src/core/options.c b/src/core/options.c
index 7a5de33d..03002d6c 100644
--- a/src/core/options.c
+++ b/src/core/options.c
@@ -263,7 +263,7 @@ static int
nni_option_set_id(const char *name, int id)
{
nni_option *opt;
- int len;
+ size_t len;
nni_mtx_lock(&nni_option_lk);
NNI_LIST_FOREACH (&nni_options, opt) {
if (strcmp(name, opt->o_name) == 0) {
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);
}
}