| Index: src/native_client/src/trusted/service_runtime/posix/nacl_signal.c
|
| diff --git a/src/native_client/src/trusted/service_runtime/posix/nacl_signal.c b/src/native_client/src/trusted/service_runtime/posix/nacl_signal.c
|
| index 691329d336dfcd719e9d81b8fdcfffee38158498..2e68d5d7c741cbe51917d43188fbf74f7e5ea69b 100644
|
| --- a/src/native_client/src/trusted/service_runtime/posix/nacl_signal.c
|
| +++ b/src/native_client/src/trusted/service_runtime/posix/nacl_signal.c
|
| @@ -146,7 +146,18 @@ void NaClSignalStackUnregister(void) {
|
| * fault, although that is unlikely.
|
| */
|
| stack_t st;
|
| +#if NACL_OSX
|
| + /*
|
| + * This is a workaround for a bug in Mac OS X's libc, in which new
|
| + * versions of the sigaltstack() wrapper return ENOMEM if ss_size is
|
| + * less than MINSIGSTKSZ, even when ss_size should be ignored
|
| + * because we are unregistering the signal stack.
|
| + * See http://code.google.com/p/nativeclient/issues/detail?id=1053
|
| + */
|
| + st.ss_size = MINSIGSTKSZ;
|
| +#else
|
| st.ss_size = 0;
|
| +#endif
|
| st.ss_sp = NULL;
|
| st.ss_flags = SS_DISABLE;
|
| if (sigaltstack(&st, NULL) != 0) {
|
|
|