| Index: src/trusted/service_runtime/posix/nacl_signal.c
|
| diff --git a/src/trusted/service_runtime/posix/nacl_signal.c b/src/trusted/service_runtime/posix/nacl_signal.c
|
| index d266c539f950162d43af0ef0abac0953fd58fcb4..214a3d08f35245de36ffed28e605c29c8d95d35c 100644
|
| --- a/src/trusted/service_runtime/posix/nacl_signal.c
|
| +++ b/src/trusted/service_runtime/posix/nacl_signal.c
|
| @@ -46,6 +46,7 @@
|
| static int s_Signals[] = {
|
| #if NACL_LINUX
|
| SIGSTKFLT,
|
| + NACL_THREAD_SUSPEND_SIGNAL,
|
| #endif
|
| SIGINT, SIGQUIT, SIGILL, SIGTRAP, SIGBUS, SIGFPE, SIGSEGV
|
| };
|
| @@ -316,6 +317,13 @@ static void SignalCatch(int sig, siginfo_t *info, void *uc) {
|
| }
|
| #endif
|
|
|
| +#if NACL_LINUX
|
| + if (sig == NACL_THREAD_SUSPEND_SIGNAL) {
|
| + NaClSuspendSignalHandler();
|
| + return;
|
| + }
|
| +#endif
|
| +
|
| if (is_untrusted && sig == SIGSEGV) {
|
| if (DispatchToUntrustedHandler(natp, &sigCtx)) {
|
| NaClSignalContextToHandler(uc, &sigCtx);
|
|
|