diff options
Diffstat (limited to 'src/platform/windows/win_tcpdial.c')
| -rw-r--r-- | src/platform/windows/win_tcpdial.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/platform/windows/win_tcpdial.c b/src/platform/windows/win_tcpdial.c index c0385648..474bd79f 100644 --- a/src/platform/windows/win_tcpdial.c +++ b/src/platform/windows/win_tcpdial.c @@ -196,9 +196,7 @@ nni_tcp_dial(nni_tcp_dialer *d, const nni_sockaddr *sa, nni_aio *aio) nni_tcp_conn *c; int rv; - if (nni_aio_begin(aio) != 0) { - return; - } + nni_aio_reset(aio); if ((len = nni_win_nn2sockaddr(&ss, sa)) <= 0) { nni_aio_finish_error(aio, NNG_EADDRINVAL); @@ -246,14 +244,13 @@ nni_tcp_dial(nni_tcp_dialer *d, const nni_sockaddr *sa, nni_aio *aio) return; } - c->dialer = d; - nni_aio_set_prov_data(aio, c); - if ((rv = nni_aio_schedule(aio, tcp_dial_cancel, d)) != 0) { + if (!nni_aio_start(aio, tcp_dial_cancel, d)) { nni_mtx_unlock(&d->mtx); nng_stream_free(&c->ops); - nni_aio_finish_error(aio, rv); return; } + nni_aio_set_prov_data(aio, c); + c->dialer = d; c->conn_aio = aio; nni_aio_list_append(&d->aios, aio); |
