From 763b8deee1fd38566b85d4745a83adae245d9b26 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Wed, 21 Jun 2017 14:04:16 -0700 Subject: Make APIs for holding references more consistent. --- src/core/socket.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/core/socket.c') diff --git a/src/core/socket.c b/src/core/socket.c index ee653780..195bbcf3 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -39,7 +39,7 @@ nni_sock_recvq(nni_sock *s) int -nni_sock_hold(nni_sock **sockp, uint32_t id) +nni_sock_find(nni_sock **sockp, uint32_t id) { int rv; nni_sock *sock; @@ -65,6 +65,16 @@ nni_sock_hold(nni_sock **sockp, uint32_t id) } +void +nni_sock_hold(nni_sock *sock) +{ + int rv; + + rv = nni_objhash_find(nni_socks, sock->s_id, NULL); + NNI_ASSERT(rv == 0); +} + + void nni_sock_rele(nni_sock *sock) { @@ -615,9 +625,8 @@ nni_sock_add_ep(nni_sock *sock, nni_ep *ep) { int rv; - if ((rv = nni_sock_hold(NULL, sock->s_id)) != 0) { - return (rv); - } + nni_sock_hold(sock); + nni_mtx_lock(&sock->s_mx); if (sock->s_closing) { nni_mtx_unlock(&sock->s_mx); -- cgit v1.2.3-70-g09d2