aboutsummaryrefslogtreecommitdiff
path: root/src/core/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c35
1 files changed, 6 insertions, 29 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index 0ae20a28..d9119a64 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -547,25 +547,14 @@ nni_sock_dial(nni_sock *sock, const char *addr, nni_ep **epp, int flags)
nni_ep *ep;
int rv;
- nni_mtx_lock(&sock->s_mx);
- if (sock->s_closing) {
- nni_mtx_unlock(&sock->s_mx);
- return (NNG_ECLOSED);
- }
if ((rv = nni_ep_create(&ep, sock, addr)) != 0) {
- nni_mtx_unlock(&sock->s_mx);
return (rv);
}
- nni_list_append(&sock->s_eps, ep);
- nni_mtx_unlock(&sock->s_mx);
- rv = nni_ep_dial(ep, flags);
- if (rv != 0) {
+ if ((rv = nni_ep_dial(ep, flags)) != 0) {
nni_ep_close(ep);
- } else {
- if (epp != NULL) {
- *epp = ep;
- }
+ } else if (epp != NULL) {
+ *epp = ep;
}
return (rv);
@@ -578,26 +567,14 @@ nni_sock_listen(nni_sock *sock, const char *addr, nni_ep **epp, int flags)
nni_ep *ep;
int rv;
- nni_mtx_lock(&sock->s_mx);
- if (sock->s_closing) {
- nni_mtx_unlock(&sock->s_mx);
- return (NNG_ECLOSED);
- }
-
if ((rv = nni_ep_create(&ep, sock, addr)) != 0) {
- nni_mtx_unlock(&sock->s_mx);
return (rv);
}
- nni_list_append(&sock->s_eps, ep);
- nni_mtx_unlock(&sock->s_mx);
- rv = nni_ep_listen(ep, flags);
- if (rv != 0) {
+ if ((rv = nni_ep_listen(ep, flags)) != 0) {
nni_ep_close(ep);
- } else {
- if (epp != NULL) {
- *epp = ep;
- }
+ } else if (epp != NULL) {
+ *epp = ep;
}
return (rv);