Skip to content

Stop continuous looping during closedown (POSIX) #127

Open
@vanrein

Description

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:

TLS Pool[46086]: already done local shutdown
TLS Pool[46086]: inout [0].revents 0x0010
TLS Pool[46086]: inout [1].revents 0x0000

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions