mirror of https://github.com/wolfSSL/wolfssh.git
- tcp_select_write() joins tcp_select(), with WS_SELECT_SEND_READY at the end of the enum. tcp_select() passes NULL for writefds and cannot wait on the write side. - The Windows wolfsshd window-change drain and sftp_worker()'s handshake flush retry wait on it. The drain records a give-up in ret, and sftp_worker() breaks only on WS_SELECT_ERROR_READY. - The echoserver, Espressif and both wolfsshd shell loops, and ReceiveScpMessage(), take the event from wolfSSH_worker()'s return when it carries one, in place of reading ssh->error alone. The two echoservers cover WS_CHAN_RXD, WS_REKEYING, WS_CHANNEL_CLOSED and WS_EOF; the wolfsshd loops and ReceiveScpMessage() cover the ones they have arms for. - The POSIX wolfsshd loop takes an owed write into wantWrite before the event overwrites rc, and its WS_WANT_WRITE arm runs the channel drain below in place of skipping it. - FlushQueuedSend() folds the receive's own statuses into WS_SUCCESS inside its loop and keeps flushing while wolfSSH_get_error() reports WS_WANT_WRITE within the deadline, in place of looping on the worker's return. It reports WS_WANT_WRITE when the deadline leaves the packet queued. |
||
|---|---|---|
| .. | ||
| CSBENCH | ||
| Espressif | ||
| IAR-EWARM | ||
| Linux-FATFS | ||
| MQX | ||
| Renesas | ||
| STM32CUBE | ||
| mplabx | ||
| winvs | ||
| include.am | ||