mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
client/server: tolerate WANT_WRITE errors
This commit is contained in:
committed by
David Garske
parent
4e112419f5
commit
12a3efeca8
@ -807,7 +807,8 @@ static int ClientBenchmarkThroughput(WOLFSSL_CTX* ctx, char* host, word16 port,
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (err != WOLFSSL_ERROR_WANT_READ) {
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE) {
|
||||
fprintf(stderr, "SSL_read bench error %d\n", err);
|
||||
err_sys("SSL_read failed");
|
||||
}
|
||||
@ -1072,7 +1073,9 @@ static int ClientRead(WOLFSSL* ssl, char* reply, int replyLen, int mustRead,
|
||||
}
|
||||
}
|
||||
|
||||
if (mustRead && err == WOLFSSL_ERROR_WANT_READ) {
|
||||
if (mustRead &&
|
||||
(err == WOLFSSL_ERROR_WANT_READ
|
||||
|| err == WOLFSSL_ERROR_WANT_WRITE)) {
|
||||
elapsed = current_time(0) - start;
|
||||
if (elapsed > MAX_NON_BLOCK_SEC) {
|
||||
fprintf(stderr, "Nonblocking read timeout\n");
|
||||
|
@ -416,6 +416,7 @@ int ServerEchoData(SSL* ssl, int clientfd, int echoData, int block,
|
||||
else
|
||||
#endif
|
||||
if (err != WOLFSSL_ERROR_WANT_READ &&
|
||||
err != WOLFSSL_ERROR_WANT_WRITE &&
|
||||
err != WOLFSSL_ERROR_ZERO_RETURN &&
|
||||
err != APP_DATA_READY) {
|
||||
fprintf(stderr, "SSL_read echo error %d\n", err);
|
||||
@ -553,7 +554,9 @@ static void ServerRead(WOLFSSL* ssl, char* input, int inputLen)
|
||||
if (wolfSSL_pending(ssl))
|
||||
err = WOLFSSL_ERROR_WANT_READ;
|
||||
}
|
||||
} while (err == WC_PENDING_E || err == WOLFSSL_ERROR_WANT_READ);
|
||||
} while (err == WC_PENDING_E
|
||||
|| err == WOLFSSL_ERROR_WANT_READ
|
||||
|| err == WOLFSSL_ERROR_WANT_WRITE);
|
||||
if (ret > 0) {
|
||||
/* null terminate message */
|
||||
input[ret] = '\0';
|
||||
|
Reference in New Issue
Block a user