diff options
Diffstat (limited to 'src/platform/windows/win_iocp.c')
| -rw-r--r-- | src/platform/windows/win_iocp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/platform/windows/win_iocp.c b/src/platform/windows/win_iocp.c index a3ae3748..5ead9cbc 100644 --- a/src/platform/windows/win_iocp.c +++ b/src/platform/windows/win_iocp.c @@ -155,11 +155,16 @@ nni_win_event_resubmit(nni_win_event *evt, nni_aio *aio) void nni_win_event_submit(nni_win_event *evt, nni_aio *aio) { + int rv; if (nni_aio_begin(aio) != 0) { return; } nni_mtx_lock(&evt->mtx); - nni_aio_schedule(aio, nni_win_event_cancel, evt); + if ((rv = nni_aio_schedule(aio, nni_win_event_cancel, evt)) != 0) { + nni_mtx_unlock(&evt->mtx); + nni_aio_finish_error(aio, rv); + return; + } nni_aio_list_append(&evt->aios, aio); nni_win_event_start(evt); nni_mtx_unlock(&evt->mtx); |
