runtime: make gsignal stack at least SIGSTKSZ bytes

The default stack size for the gsignal goroutine, 32K, is not enough on
    ia64.  Make sure that the stack size is at least SIGSTKSZ.
    
    Reviewed-on: https://go-review.googlesource.com/28224

From-SVN: r239894
This commit is contained in:
Ian Lance Taylor 2016-08-31 13:59:03 +00:00
parent 96f14006f5
commit fc4eaccf10
2 changed files with 9 additions and 2 deletions

View File

@ -1,4 +1,4 @@
394486a1cec9bbb81216311ed153179d9fe1c2c5
c8cf90f2daf62428ca6aa0b5674572cd99f25fe3
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -272,7 +272,14 @@ runtime_tickspersecond(void)
void
runtime_mpreinit(M *mp)
{
mp->gsignal = runtime_malg(32*1024, (byte**)&mp->gsignalstack, &mp->gsignalstacksize); // OS X wants >=8K, Linux >=2K
int32 stacksize = 32 * 1024; // OS X wants >=8K, Linux >=2K
#ifdef SIGSTKSZ
if(stacksize < SIGSTKSZ)
stacksize = SIGSTKSZ;
#endif
mp->gsignal = runtime_malg(stacksize, (byte**)&mp->gsignalstack, &mp->gsignalstacksize);
mp->gsignal->m = mp;
}