aboutsummaryrefslogtreecommitdiff
path: root/src/platform/windows
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/windows')
-rw-r--r--src/platform/windows/win_ipcconn.c18
-rw-r--r--src/platform/windows/win_ipcdial.c8
-rw-r--r--src/platform/windows/win_ipclisten.c20
3 files changed, 16 insertions, 30 deletions
diff --git a/src/platform/windows/win_ipcconn.c b/src/platform/windows/win_ipcconn.c
index 56a688a4..f6c1b2a4 100644
--- a/src/platform/windows/win_ipcconn.c
+++ b/src/platform/windows/win_ipcconn.c
@@ -163,11 +163,8 @@ static void
ipc_recv(void *arg, nni_aio *aio)
{
ipc_conn *c = arg;
- int rv;
- if (nni_aio_begin(aio) != 0) {
- return;
- }
+ nni_aio_reset(aio);
nni_mtx_lock(&c->mtx);
if (c->closed) {
nni_mtx_unlock(&c->mtx);
@@ -175,14 +172,13 @@ ipc_recv(void *arg, nni_aio *aio)
return;
}
if (c->recv_fail) {
- rv = c->recv_rv;
+ int rv = c->recv_rv;
nni_mtx_unlock(&c->mtx);
nni_aio_finish_error(aio, rv);
return;
}
- if ((rv = nni_aio_schedule(aio, ipc_recv_cancel, c)) != 0) {
+ if (!nni_aio_start(aio, ipc_recv_cancel, c)) {
nni_mtx_unlock(&c->mtx);
- nni_aio_finish_error(aio, rv);
return;
}
nni_list_append(&c->recv_aios, aio);
@@ -305,15 +301,11 @@ static void
ipc_send(void *arg, nni_aio *aio)
{
ipc_conn *c = arg;
- int rv;
- if (nni_aio_begin(aio) != 0) {
- return;
- }
+ nni_aio_reset(aio);
nni_mtx_lock(&c->mtx);
- if ((rv = nni_aio_schedule(aio, ipc_send_cancel, c)) != 0) {
+ if (!nni_aio_start(aio, ipc_send_cancel, c)) {
nni_mtx_unlock(&c->mtx);
- nni_aio_finish_error(aio, rv);
return;
}
nni_list_append(&c->send_aios, aio);
diff --git a/src/platform/windows/win_ipcdial.c b/src/platform/windows/win_ipcdial.c
index 347ee39b..d5e44750 100644
--- a/src/platform/windows/win_ipcdial.c
+++ b/src/platform/windows/win_ipcdial.c
@@ -145,16 +145,12 @@ ipc_dialer_dial(void *arg, nni_aio *aio)
{
ipc_dialer *d = arg;
ipc_dial_work *w = &ipc_connector;
- int rv;
- if (nni_aio_begin(aio) != 0) {
- return;
- }
+ nni_aio_reset(aio);
nni_mtx_lock(&w->mtx);
- if ((rv = nni_aio_schedule(aio, ipc_dial_cancel, d)) != 0) {
+ if (!nni_aio_start(aio, ipc_dial_cancel, d)) {
nni_mtx_unlock(&w->mtx);
- nni_aio_finish_error(aio, rv);
return;
}
diff --git a/src/platform/windows/win_ipclisten.c b/src/platform/windows/win_ipclisten.c
index d09c98c7..72c68f94 100644
--- a/src/platform/windows/win_ipclisten.c
+++ b/src/platform/windows/win_ipclisten.c
@@ -261,23 +261,21 @@ static void
ipc_listener_accept(void *arg, nni_aio *aio)
{
ipc_listener *l = arg;
- int rv;
- if (nni_aio_begin(aio) != 0) {
- return;
- }
+
+ nni_aio_reset(aio);
nni_mtx_lock(&l->mtx);
if (!l->started) {
nni_mtx_unlock(&l->mtx);
nni_aio_finish_error(aio, NNG_ESTATE);
return;
}
- if ((rv = nni_aio_schedule(aio, ipc_accept_cancel, l)) != 0) {
- nni_aio_finish_error(aio, rv);
- } else {
- nni_list_append(&l->aios, aio);
- if (nni_list_first(&l->aios) == aio) {
- ipc_accept_start(l);
- }
+ if (!nni_aio_start(aio, ipc_accept_cancel, l)) {
+ nni_mtx_unlock(&l->mtx);
+ return;
+ }
+ nni_list_append(&l->aios, aio);
+ if (nni_list_first(&l->aios) == aio) {
+ ipc_accept_start(l);
}
nni_mtx_unlock(&l->mtx);
}