Skip to content

Commit 8a8c761

Browse files
committed
si_syscall only when signal code is TRAP_CAP
1 parent 5bde999 commit 8a8c761

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

ext/pcntl/pcntl.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,11 +1071,13 @@ static void pcntl_siginfo_to_zval(int signo, siginfo_t *siginfo, zval *user_sigi
10711071

10721072
#ifdef SIGTRAP
10731073
case SIGTRAP:
1074-
# ifdef si_syscall
1075-
add_assoc_long_ex(user_siginfo, "syscall", sizeof("syscall")-1, (zend_long)siginfo->si_syscall);
1076-
# endif
1077-
# ifdef si_trapno
1078-
add_assoc_long_ex(user_siginfo, "trapno", sizeof("trapno")-1, (zend_long)siginfo->si_trapno);
1074+
# if defined(si_syscall) && defined(__FreeBSD__)
1075+
if (siginfo->si_code == TRAP_CAP) {
1076+
add_assoc_long_ex(user_siginfo, "syscall", sizeof("syscall")-1, (zend_long)siginfo->si_syscall);
1077+
} else {
1078+
add_assoc_long_ex(user_siginfo, "trapno", sizeof("trapno")-1, (zend_long)siginfo->si_trapno);
1079+
}
1080+
10791081
# endif
10801082
break;
10811083

0 commit comments

Comments
 (0)