diff options
| author | Russ Cox <rsc@golang.org> | 2013-02-18 13:43:12 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-02-18 13:43:12 -0500 |
| commit | 86d509b463d92be4ea9f51d61760d8383b1f96e4 (patch) | |
| tree | 05a3311a06291b8d39a9702f7ec9bb3a7892d24d /src/pkg/runtime/thread_linux.c | |
| parent | 07e87885ad4094aa27f166d1e666b29b910c0429 (diff) | |
| download | go-86d509b463d92be4ea9f51d61760d8383b1f96e4.tar.xz | |
runtime: preparation for non-Go threads running Go code
* Handle p==nil in signalstack by setting SS_DISABLE flag.
* Make minit only allocate a signal g if there's not one already.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/7323072
Diffstat (limited to 'src/pkg/runtime/thread_linux.c')
| -rw-r--r-- | src/pkg/runtime/thread_linux.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pkg/runtime/thread_linux.c b/src/pkg/runtime/thread_linux.c index 1a7eb7240c..fdd40c223e 100644 --- a/src/pkg/runtime/thread_linux.c +++ b/src/pkg/runtime/thread_linux.c @@ -175,7 +175,8 @@ void runtime·minit(void) { // Initialize signal handling. - m->gsignal = runtime·malg(32*1024); // OS X wants >=8K, Linux >=2K + if(m->gsignal == nil) + m->gsignal = runtime·malg(32*1024); // OS X wants >=8K, Linux >=2K runtime·signalstack((byte*)m->gsignal->stackguard - StackGuard, 32*1024); runtime·rtsigprocmask(SIG_SETMASK, &sigset_none, nil, sizeof(Sigset)); } |
