diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/endpt.c | 12 | ||||
| -rw-r--r-- | src/core/panic.c | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/core/endpt.c b/src/core/endpt.c index ab0d8cb9..74bd0314 100644 --- a/src/core/endpt.c +++ b/src/core/endpt.c @@ -253,7 +253,9 @@ nni_ep_connect(nni_ep *ep) nni_pipe_remove(pipe); return (rv); } + nni_mtx_lock(&ep->ep_mtx); ep->ep_pipe = pipe; + nni_mtx_unlock(&ep->ep_mtx); return (0); } @@ -277,17 +279,19 @@ nni_ep_pipe_add(nni_ep *ep, nni_pipe *pipe) void nni_ep_pipe_remove(nni_ep *ep, nni_pipe *pipe) { - if ((ep != NULL) && (nni_list_active(&ep->ep_pipes, pipe))) { - nni_mtx_lock(&ep->ep_mtx); + if (ep == NULL) { + return; + } + nni_mtx_lock(&ep->ep_mtx); + if (nni_list_active(&ep->ep_pipes, pipe)) { nni_list_remove(&ep->ep_pipes, pipe); if (ep->ep_pipe == pipe) { ep->ep_pipe = NULL; } nni_cv_wake(&ep->ep_cv); - - nni_mtx_unlock(&ep->ep_mtx); } + nni_mtx_unlock(&ep->ep_mtx); } diff --git a/src/core/panic.c b/src/core/panic.c index 2205779f..b3d64dc3 100644 --- a/src/core/panic.c +++ b/src/core/panic.c @@ -55,10 +55,12 @@ nni_panic(const char *fmt, ...) va_list va; va_start(va, fmt); - (void) snprintf(fbuf, sizeof (fbuf), "panic: %s", fmt); - (void) vsnprintf(buf, sizeof (buf), fbuf, va); + (void) vsnprintf(fbuf, sizeof (fbuf), fmt, va); va_end(va); + + (void) snprintf(buf, sizeof (buf), "panic: %s", fbuf); + nni_println(buf); nni_println("This message is indicative of a BUG."); nni_println("Report this at http://github.com/nanomsg/nanomsg"); |
