From 2631aaccbc57388450403520e585d4440fec10fc Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 1 Jan 2026 12:07:54 +0000 Subject: Prepare for 2.9.8.1; signal handlers must save/restore errno --- src/libexecline/el_forx_pidinfo.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/libexecline/el_forx_pidinfo.c b/src/libexecline/el_forx_pidinfo.c index 61c5a26..8bd12bb 100644 --- a/src/libexecline/el_forx_pidinfo.c +++ b/src/libexecline/el_forx_pidinfo.c @@ -1,5 +1,7 @@ /* ISC license. */ +#include + #include #include @@ -15,11 +17,13 @@ int el_forx_isok (unsigned short const *tab, unsigned int n, unsigned short code void el_forx_sigchld_handler (int sig) { + int e = errno ; for (;;) { ssize_t r = wait_pids_nohang(el_forx_pidinfo->tab, el_forx_pidinfo->len, &el_forx_pidinfo->wstat) ; if (r <= 0) break ; el_forx_pidinfo->tab[r-1] = el_forx_pidinfo->tab[--el_forx_pidinfo->len] ; } + errno = e ; (void)sig ; } -- cgit v1.3.1