aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/platform/posix/posix_ipcdial.c4
-rw-r--r--src/platform/posix/posix_tcpdial.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/platform/posix/posix_ipcdial.c b/src/platform/posix/posix_ipcdial.c
index 464179a0..6cbd7c17 100644
--- a/src/platform/posix/posix_ipcdial.c
+++ b/src/platform/posix/posix_ipcdial.c
@@ -1,5 +1,5 @@
//
-// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2023 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
// Copyright 2019 Devolutions <info@devolutions.net>
//
@@ -188,6 +188,8 @@ ipc_dialer_dial(void *arg, nni_aio *aio)
// This arranges for the fd to be in non-blocking mode, and adds the
// poll fd to the list.
if ((rv = nni_posix_pfd_init(&pfd, fd)) != 0) {
+ // the error label unlocks this
+ nni_mtx_lock(&d->mtx);
goto error;
}
diff --git a/src/platform/posix/posix_tcpdial.c b/src/platform/posix/posix_tcpdial.c
index d9b58210..0af72cfa 100644
--- a/src/platform/posix/posix_tcpdial.c
+++ b/src/platform/posix/posix_tcpdial.c
@@ -1,5 +1,5 @@
//
-// Copyright 2021 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2023 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
// Copyright 2018 Devolutions <info@devolutions.net>
//
@@ -207,6 +207,8 @@ nni_tcp_dial(nni_tcp_dialer *d, const nni_sockaddr *sa, nni_aio *aio)
// poll fd to the list.
if ((rv = nni_posix_pfd_init(&pfd, fd)) != 0) {
(void) close(fd);
+ // the error label unlocks this
+ nni_mtx_lock(&d->mtx);
goto error;
}