fix(PIWaitEvent): use -1 as pipe_fd sentinel instead of 0

File descriptor 0 is stdin (a valid fd). Using 0 as the 'not-open'
sentinel caused isCreate() to return false and destroy() to skip
close() when pipe() happened to allocate fds {0, 1} (e.g. in daemons
with closed stdio). POSIX convention: -1 = invalid fd.
This commit is contained in:
2026-08-05 17:39:36 +03:00
parent 6c5c4b73e0
commit e05abf16b5
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ private:
#ifdef WINDOWS
void * event = nullptr;
#else
int pipe_fd[2] = {0, 0};
int pipe_fd[2] = {-1, -1};
fd_set fds[3];
enum {
ReadEnd = 0,