Skip to content

Commit

Permalink
github check pending_signal
Browse files Browse the repository at this point in the history
  • Loading branch information
nmisch committed May 20, 2024
1 parent 4dca431 commit dc54b0f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/bsd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ jobs:
curl -L https://cpanmin.us | sudo perl - --notest --installdeps --with-configure --with-develop .
perl Makefile.PL
make
gcc -Wall pending_signal.c && for n in `seq 15`; do ./a.out; echo $?; done
echo BARRIER1
gcc -DREBLOCK -Wall pending_signal.c && for n in `seq 15`; do ./a.out; echo $?; done
echo BARRIER2
ktrace -di env IPCRUNDEBUG=gory perl -Iblib/lib t/kill_kill.t || true
kdump || true
IPCRUNDEBUG=gory prove -wlvmb t/kill_kill.t
15 changes: 13 additions & 2 deletions pending_signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,19 @@
* 2 if sigprocmask(SIG_UNBLOCK) returns w/ SIGTERM *not* pending
* 90 if exec fails
*
* Dies to SIGTERM about half the time, returning 1 the other half. Compiling
* with -DREBLOCK makes it die to SIGTERM always.
* Linux 3.10.0-1160.99.1.el7.x86_64: Dies to SIGTERM about half the time,
* returning 1 the other half. Compiling with -DREBLOCK makes it die to SIGTERM
* always.
*
* AIX 7300-01-02-2320: returns 1 always. Compiling with -DREBLOCK makes it die
* to SIGTERM always.
*
* Same as AIX:
* Darwin 21.6.0
* FreeBSD 14.0-CURRENT
* Linux 6.7.12-amd64
* OpenBSD 7.5
* Solaris 11.4.68.164.2
*/
#include <signal.h>
#include <unistd.h>
Expand Down

0 comments on commit dc54b0f

Please sign in to comment.