diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 6baf2c71..b75ab3b1 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -1964,7 +1964,10 @@ bail3: if (eff_buf.token_len < 0) { fprintf(stderr, "Socket read returned %d\n", eff_buf.token_len); - break; + if (errno != EINTR) + libwebsocket_close_and_free_session(context, wsi, + LWS_CLOSE_STATUS_NOSTATUS); + return 1; } if (!eff_buf.token_len) { libwebsocket_close_and_free_session(context, wsi,