On Sun, Dec 18, 2022 at 06:40:45PM +0100, Claudio Jeker wrote: > > What confuses me is that atomicio() is not used in the main readwrite() > loop. There nc polls on both fds and then read/write depending on return > values. atomicio() is only used by atelnet() and socks_connect() which do > not depend on BUFSIZE. > > I assume this was modified when TLS support was added but I did > not investigate further.
Thanks for the pointer. That was changed with the following commit which means that stalling with atomicio() is not an issue anymore. ---------------------------- revision 1.125 date: 2014/10/30 16:06:07; author: tedu; state: Exp; lines: +211 -47; rework the poll loop to poll in both directions so it doesn't get stuck if one pipe stalls out. from a diff by Arne Becker. (buffer size left alone for now) ---------------------------- There's also a longer discussion here https://marc.info/?t=140237003800002&r=1&w=2 Marco