The POSIX system has inherited a Windows-compliance patch that is impacting its proper function. This should be reverted, even if only on POSIX.
To reproduce on Linux, start a chatsrv in the background and a chatcli in the foreground. Talk a bit and press ^D. This starts an inifinite loop that ends abruptly when chatsrv is brought to the foreground, constantly printing these lines:
This is bad: The TLS Pool is drawing CPU because a client program does not respond (is misbehaving). In this case, it is probably suspended due to backgrounding, or waiting to read from the console. Anyway, the TLS Pool should not wait for the client program to shutdown its half but instead stop looping, or stop watching revents or somehow other reduce this load.
The load is observable as a running fan, so it is not subtle. The Windows patch that causes it is probably the one that silenced the fan on Windows, so this may be a POSIX incompatibility (of either platform!) caused by the fuzzy "definition" of POSIX in this point.
The POSIX system has inherited a Windows-compliance patch that is impacting its proper function. This should be reverted, even if only on POSIX.
To reproduce on Linux, start a
chatsrv
in the background and achatcli
in the foreground. Talk a bit and press^D
. This starts an inifinite loop that ends abruptly whenchatsrv
is brought to the foreground, constantly printing these lines:This is bad: The TLS Pool is drawing CPU because a client program does not respond (is misbehaving). In this case, it is probably suspended due to backgrounding, or waiting to read from the console. Anyway, the TLS Pool should not wait for the client program to shutdown its half but instead stop looping, or stop watching
revents
or somehow other reduce this load.The load is observable as a running fan, so it is not subtle. The Windows patch that causes it is probably the one that silenced the fan on Windows, so this may be a POSIX incompatibility (of either platform!) caused by the fuzzy "definition" of POSIX in this point.