diff options
| -rw-r--r-- | src/sp/transport/socket/sockfd.c | 5 | ||||
| -rw-r--r-- | src/sp/transport/tcp/tcp.c | 5 | ||||
| -rw-r--r-- | src/sp/transport/tls/tls.c | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/sp/transport/socket/sockfd.c b/src/sp/transport/socket/sockfd.c index b66687b3..82db1163 100644 --- a/src/sp/transport/socket/sockfd.c +++ b/src/sp/transport/socket/sockfd.c @@ -170,7 +170,10 @@ sfd_tran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); - + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } diff --git a/src/sp/transport/tcp/tcp.c b/src/sp/transport/tcp/tcp.c index c8539c5e..3ce193c5 100644 --- a/src/sp/transport/tcp/tcp.c +++ b/src/sp/transport/tcp/tcp.c @@ -174,7 +174,10 @@ tcptran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); - + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } diff --git a/src/sp/transport/tls/tls.c b/src/sp/transport/tls/tls.c index db301af3..c8926c41 100644 --- a/src/sp/transport/tls/tls.c +++ b/src/sp/transport/tls/tls.c @@ -175,6 +175,10 @@ tlstran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } |
