summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-11-06 14:17:56 -0800
committerGarrett D'Amore <garrett@damore.org>2017-11-06 14:17:56 -0800
commit3bae7f1545b3d74c27c159add49d16fe71a99faa (patch)
treeb85f07fbe0f75f6a8b11df065e0d6631a8d6ff4b
parentbe7c550dcedd846859668109ec040a2d284ca297 (diff)
downloadnanomsg-3bae7f1545b3d74c27c159add49d16fe71a99faa.tar.gz
fixes #924 RUN_TESTS tcp_shutdown failed (windows)
-rw-r--r--src/aio/usock_win.inc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/aio/usock_win.inc b/src/aio/usock_win.inc
index 0af756d..ccbd607 100644
--- a/src/aio/usock_win.inc
+++ b/src/aio/usock_win.inc
@@ -998,6 +998,17 @@ static void nn_usock_handler (struct nn_fsm *self, int src, int type,
return;
+ case NN_WORKER_OP_ERROR:
+ nn_usock_close(usock->asock);
+ usock->asock->state = NN_USOCK_STATE_DONE;
+ nn_fsm_raise (&usock->asock->fsm, &usock->asock->event_error,
+ NN_USOCK_ERROR);
+ usock->asock->asock = NULL;
+ usock->asock = NULL;
+ /* Wait till the user starts accepting once again. */
+ usock->state = NN_USOCK_STATE_LISTENING;
+ return;
+
default:
nn_fsm_bad_action (usock->state, src, type);
}