Hi, I've been having some issues with select/sigprocmask and signals on OpenBSD 6.2 (amd64).
Since 6.0, I've been working on EFL (enlightenment.org) on FreeBSD and OpenBSD. OpenBSD broke sometime after the 6.0 release (in the mainloop SIGCHLD were getting lost and applications would hang). I'm hoping this test-case might also explain the issues with EFL. The test code URL: http://haxlab.org/stuff/sig.c.txt EXPECTED OUTPUT # identical on Linux, FreeBSD, MacOS and Windows POSIX emulation. $ ./a.out Timeout Timeout Timeout buf: Yo Timeout Timeout Timeout buf: Yo Timeout Timeout Timeout buf: Yo Child exits! Exiting! BELOW THE OUTPUT ON OPENBSD 6.2 (amd64): $ ./a.out ^Cbuf: Yo ^Cbuf: Yo ^CExiting! The code should handle SIGINT (CTRL^C) gracefully, but I noticed running the testcase on OpenBSD without interrupting (SIGINT) the behaviour is so wildly different from testing on all the other major UNIX and Unix-like systems. The OpenBSD handling of SIGINT doesn't work either in this case. I wonder if anyone could help here? Whether I am doing something wrong, or maybe even finding the OpenBSD EFL main loop signal issue? Thanks very much, Al Poole

