From aa99b2d9a3e45b943196914e8d8bf086646fdb54 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 4 Jun 2021 23:41:29 +1000 Subject: [PATCH] Clear notify_pipe from readset if present. Prevents leaking an implementation detail to the caller. --- openbsd-compat/bsd-pselect.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openbsd-compat/bsd-pselect.c b/openbsd-compat/bsd-pselect.c index 2cda0b587..da34b41d8 100644 --- a/openbsd-compat/bsd-pselect.c +++ b/openbsd-compat/bsd-pselect.c @@ -114,9 +114,11 @@ notify_done(fd_set *readset) { char c; - if (notify_pipe[0] != -1 && FD_ISSET(notify_pipe[0], readset)) + if (notify_pipe[0] != -1 && FD_ISSET(notify_pipe[0], readset)) { while (read(notify_pipe[0], &c, 1) != -1) debug2_f("reading"); + FD_CLR(notify_pipe[0], readset); + } } /*ARGSUSED*/