MEDIUM: No EINTR handling in select() - IO thread exits on signal #5

Closed
opened 2026-09-07 15:00:49 +00:00 by x3 · 0 comments
Owner

Bug

If select() returned -1 with errno == EINTR (signal interruption), the IO loop exited and the connection was terminated.

Fix

// BEFORE:
if (ret < 0) break;

// AFTER:
if (ret < 0) {
    if (errno == EINTR) continue;
    break;
}

Status: Fixed in commit 4a2b2ea

## Bug If `select()` returned -1 with `errno == EINTR` (signal interruption), the IO loop exited and the connection was terminated. ## Fix ```cpp // BEFORE: if (ret < 0) break; // AFTER: if (ret < 0) { if (errno == EINTR) continue; break; } ``` **Status:** Fixed in commit 4a2b2ea
x3 closed this issue 2026-09-07 16:58:14 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: x3/x3-ssh#5