From baba9825f11aa6759fccecbf92b4d25fb41be5ec Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sun, 25 Jun 2017 09:57:26 -0700 Subject: Fix a few race condition panics. --- src/core/pipe.c | 2 +- src/core/socket.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/core') diff --git a/src/core/pipe.c b/src/core/pipe.c index 5d774e6d..f33f21a6 100644 --- a/src/core/pipe.c +++ b/src/core/pipe.c @@ -195,10 +195,10 @@ nni_pipe_create(nni_pipe **pp, nni_ep *ep, nni_sock *sock, nni_tran *tran) if ((rv = nni_ep_pipe_add(ep, p)) != 0) { nni_pipe_remove(p); + return (rv); } if ((rv = nni_sock_pipe_add(sock, p)) != 0) { nni_pipe_remove(p); - //nni_objhash_unref(nni_pipes, p->p_id); return (rv); } diff --git a/src/core/socket.c b/src/core/socket.c index 67b3f978..85b97363 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -141,6 +141,9 @@ nni_sock_pipe_remove(nni_sock *sock, nni_pipe *pipe) { void *pdata; + if (sock == NULL) { + return; + } nni_mtx_lock(&sock->s_mx); if (nni_list_active(&sock->s_pipes, pipe)) { nni_list_remove(&sock->s_pipes, pipe); -- cgit v1.2.3-70-g09d2