From 3f4ec4032684ce1c1ee629cdf6fce992a01521b2 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Wed, 29 Mar 2017 23:34:29 -0700 Subject: Hopefully close shutdown race in rep. --- src/protocol/pubsub/pub.c | 6 ++---- src/protocol/pubsub/sub.c | 12 +++++------- src/protocol/reqrep/rep.c | 2 +- 3 files changed, 8 insertions(+), 12 deletions(-) (limited to 'src/protocol') diff --git a/src/protocol/pubsub/pub.c b/src/protocol/pubsub/pub.c index a37fe991..8ca7f0f9 100644 --- a/src/protocol/pubsub/pub.c +++ b/src/protocol/pubsub/pub.c @@ -78,10 +78,8 @@ nni_pub_sock_fini(void *arg) { nni_pub_sock *pub = arg; - if (pub != NULL) { - nni_aio_fini(&pub->aio_getq); - NNI_FREE_STRUCT(pub); - } + nni_aio_fini(&pub->aio_getq); + NNI_FREE_STRUCT(pub); } diff --git a/src/protocol/pubsub/sub.c b/src/protocol/pubsub/sub.c index ecfbf540..7b6e908e 100644 --- a/src/protocol/pubsub/sub.c +++ b/src/protocol/pubsub/sub.c @@ -71,14 +71,12 @@ nni_sub_sock_fini(void *arg) nni_sub_sock *sub = arg; nni_sub_topic *topic; - if (sub != NULL) { - while ((topic = nni_list_first(&sub->topics)) != NULL) { - nni_list_remove(&sub->topics, topic); - nni_free(topic->buf, topic->len); - NNI_FREE_STRUCT(topic); - } - NNI_FREE_STRUCT(sub); + while ((topic = nni_list_first(&sub->topics)) != NULL) { + nni_list_remove(&sub->topics, topic); + nni_free(topic->buf, topic->len); + NNI_FREE_STRUCT(topic); } + NNI_FREE_STRUCT(sub); } diff --git a/src/protocol/reqrep/rep.c b/src/protocol/reqrep/rep.c index ec5b77cf..a7295eec 100644 --- a/src/protocol/reqrep/rep.c +++ b/src/protocol/reqrep/rep.c @@ -110,11 +110,11 @@ nni_rep_sock_fini(void *arg) { nni_rep_sock *rep = arg; + nni_aio_fini(&rep->aio_getq); nni_idhash_fini(&rep->pipes); if (rep->btrace != NULL) { nni_free(rep->btrace, rep->btrace_len); } - nni_aio_fini(&rep->aio_getq); NNI_FREE_STRUCT(rep); } -- cgit v1.2.3-70-g09d2