diff --git a/examples/client/client.c b/examples/client/client.c index d4790ec56..d6b2b2b98 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -1812,7 +1812,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) } #endif } - } while (err == WC_PENDING_E); + } while (err == WC_PENDING_E || err == SSL_ERROR_WANT_READ); if (ret > 0) { reply[ret] = 0; printf("Server response: %s\n", reply); diff --git a/examples/server/server.c b/examples/server/server.c index 205c07e0c..4ef51341f 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -1233,7 +1233,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args) } #endif } - } while (err == WC_PENDING_E); + } while (err == WC_PENDING_E || err == SSL_ERROR_WANT_WRITE); if (ret != write_msg_sz) { printf("SSL_write msg error %d, %s\n", err, ERR_error_string(err, buffer));