Opened 2 years ago

Last modified 13 months ago

#18327 closed bug

select() does not report disconnect events — at Initial Version

Reported by: LekKit Owned by: axeld
Priority: normal Milestone: R1/beta5
Component: Network & Internet/TCP Version: R1/beta4
Keywords: select, tcp, network Cc:
Blocked By: Blocking:
Platform: All

Description

When another end of the TCP socket is closed, select() should report that in rfds set. It doesn't as of hrev56862, and doesn't wake from blocking either. This prevents any software using select() from tracking disconnect events, and freeing clients appropriately. Will attach a tiny program that reproduces this. On systems susceptible to the bug it'd hang and never exit.

Change History (1)

by LekKit, 2 years ago

Attachment: haiku_select_repro.c added

Reproduces the issue

Note: See TracTickets for help on using tickets.