| // Copyright 2009 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| #define SS_DISABLE 2 | |
| // Linux-specific system calls | |
| int32 runtime·futex(uint32*, int32, uint32, Timespec*, uint32*, uint32); | |
| int32 runtime·clone(int32, void*, M*, G*, void(*)(void)); | |
| struct Sigaction; | |
| int32 runtime·rt_sigaction(uintptr, struct Sigaction*, void*, uintptr); | |
| void runtime·sigaltstack(Sigaltstack*, Sigaltstack*); | |
| void runtime·sigpanic(void); | |
| void runtime·setitimer(int32, Itimerval*, Itimerval*); | |
| #define NSIG 65 | |
| #define SI_USER 0 | |
| // It's hard to tease out exactly how big a Sigset is, but | |
| // rt_sigprocmask crashes if we get it wrong, so if binaries | |
| // are running, this is right. | |
| typedef struct Sigset Sigset; | |
| struct Sigset | |
| { | |
| uint32 mask[2]; | |
| }; | |
| void runtime·rtsigprocmask(int32, Sigset*, Sigset*, int32); | |
| void runtime·unblocksignals(void); | |
| #define SIG_SETMASK 2 | |
| #define RLIMIT_AS 9 | |
| typedef struct Rlimit Rlimit; | |
| struct Rlimit { | |
| uintptr rlim_cur; | |
| uintptr rlim_max; | |
| }; | |
| int32 runtime·getrlimit(int32, Rlimit*); |