diff options
author | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
---|---|---|
committer | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
commit | f154da9e12608589e8d5f0508f908a0c3e88a1bb (patch) | |
tree | f8255d51e10c6f1e0ed69702200b966c9556a431 /src/runtime/os_linux.h | |
parent | 8d8329ed5dfb9622c82a9fbec6fd99a580f9c9f6 (diff) | |
download | golang-upstream/1.4.tar.gz |
Imported Upstream version 1.4upstream/1.4
Diffstat (limited to 'src/runtime/os_linux.h')
-rw-r--r-- | src/runtime/os_linux.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/runtime/os_linux.h b/src/runtime/os_linux.h new file mode 100644 index 000000000..75606d615 --- /dev/null +++ b/src/runtime/os_linux.h @@ -0,0 +1,41 @@ +// 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. + + +// Linux-specific system calls +int32 runtime·futex(uint32*, int32, uint32, Timespec*, uint32*, uint32); +int32 runtime·clone(int32, void*, M*, G*, void(*)(void)); + +struct SigactionT; +int32 runtime·rt_sigaction(uintptr, struct SigactionT*, void*, uintptr); + +void runtime·sigaltstack(SigaltstackT*, SigaltstackT*); +void runtime·sigpanic(void); +void runtime·setitimer(int32, Itimerval*, Itimerval*); + +enum { + SS_DISABLE = 2, + NSIG = 65, + SI_USER = 0, + SIG_SETMASK = 2, + RLIMIT_AS = 9, +}; + +// 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); + +typedef struct Rlimit Rlimit; +struct Rlimit { + uintptr rlim_cur; + uintptr rlim_max; +}; +int32 runtime·getrlimit(int32, Rlimit*); |