File tree 2 files changed +3
-1
lines changed
test/addons/register-signal-handler
2 files changed +3
-1
lines changed Original file line number Diff line number Diff line change @@ -543,7 +543,7 @@ void RegisterSignalHandler(int signal,
543
543
struct sigaction sa;
544
544
memset (&sa, 0 , sizeof (sa));
545
545
sa.sa_sigaction = handler;
546
- sa.sa_flags = reset_handler ? SA_RESETHAND : 0 ;
546
+ sa.sa_flags = reset_handler ? SA_RESETHAND | SA_SIGINFO : SA_SIGINFO ;
547
547
sigfillset (&sa.sa_mask );
548
548
CHECK_EQ (sigaction (signal , &sa, nullptr ), 0 );
549
549
}
@@ -638,6 +638,7 @@ inline void PlatformInit() {
638
638
struct sigaction sa;
639
639
memset (&sa, 0 , sizeof (sa));
640
640
sa.sa_sigaction = TrapWebAssemblyOrContinue;
641
+ sa.sa_flags = SA_SIGINFO;
641
642
CHECK_EQ (sigaction (SIGSEGV, &sa, nullptr ), 0 );
642
643
}
643
644
V8::EnableWebAssemblyTrapHandler (false );
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ using v8::Value;
13
13
void Handler (int signo, siginfo_t * siginfo, void * ucontext) {
14
14
char signo_char = signo;
15
15
int written;
16
+ assert (signo == siginfo->si_signo );
16
17
do {
17
18
written = write (1 , &signo_char, 1 ); // write() is signal-safe.
18
19
} while (written == -1 && errno == EINTR);
You can’t perform that action at this time.
0 commit comments