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

Reply via email to