mirror of https://github.com/wolfSSL/wolfssh.git
apps, examples: tolerate a worker want-write
- The echoserver and Espressif shell loops and the Windows wolfsshd shell loop treat a WS_WANT_WRITE from wolfSSH_worker() as non-fatal.pull/1249/head
parent
28bf47d2a0
commit
ab979865aa
|
|
@ -2296,7 +2296,7 @@ static int SHELL_Subsystem(WOLFSSHD_CONNECTION* conn, WOLFSSH* ssh,
|
|||
* peer. Both want fixing where they can be tested. */
|
||||
continue;
|
||||
}
|
||||
else if (rc != WS_WANT_READ) {
|
||||
else if (rc != WS_WANT_READ && rc != WS_WANT_WRITE) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1243,7 +1243,7 @@ static int ssh_worker(thread_ctx_t* threadCtx)
|
|||
* above, which has already run this pass. */
|
||||
continue;
|
||||
}
|
||||
else if (rc != WS_WANT_READ) {
|
||||
else if (rc != WS_WANT_READ && rc != WS_WANT_WRITE) {
|
||||
#ifdef SHELL_DEBUG
|
||||
printf("Break:read sshFd returns %d: errno =%x\n",
|
||||
cnt_r, errno);
|
||||
|
|
|
|||
|
|
@ -1170,7 +1170,7 @@ static int ssh_worker(thread_ctx_t* threadCtx)
|
|||
* above, which has already run this pass. */
|
||||
continue;
|
||||
}
|
||||
else if (rc != WS_WANT_READ) {
|
||||
else if (rc != WS_WANT_READ && rc != WS_WANT_WRITE) {
|
||||
#ifdef SHELL_DEBUG
|
||||
printf("Break:read sshFd returns %d: errno =%x\n",
|
||||
cnt_r, errno);
|
||||
|
|
|
|||
Loading…
Reference in New Issue