github.com/q45/go@v0.0.0-20151101211701-a4fb8c13db3f/src/runtime/os_nacl.go (about) 1 // Copyright 2014 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package runtime 6 7 import "unsafe" 8 9 type mOS struct{} 10 11 func nacl_exception_stack(p uintptr, size int32) int32 12 func nacl_exception_handler(fn uintptr, arg unsafe.Pointer) int32 13 func nacl_sem_create(flag int32) int32 14 func nacl_sem_wait(sem int32) int32 15 func nacl_sem_post(sem int32) int32 16 func nacl_mutex_create(flag int32) int32 17 func nacl_mutex_lock(mutex int32) int32 18 func nacl_mutex_trylock(mutex int32) int32 19 func nacl_mutex_unlock(mutex int32) int32 20 func nacl_cond_create(flag int32) int32 21 func nacl_cond_wait(cond, n int32) int32 22 func nacl_cond_signal(cond int32) int32 23 func nacl_cond_broadcast(cond int32) int32 24 25 //go:noescape 26 func nacl_cond_timed_wait_abs(cond, lock int32, ts *timespec) int32 27 func nacl_thread_create(fn uintptr, stk, tls, xx unsafe.Pointer) int32 28 29 //go:noescape 30 func nacl_nanosleep(ts, extra *timespec) int32 31 func nanotime() int64 32 func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) unsafe.Pointer 33 func exit(code int32) 34 func osyield() 35 36 //go:noescape 37 func write(fd uintptr, p unsafe.Pointer, n int32) int32 38 39 //go:linkname os_sigpipe os.sigpipe 40 func os_sigpipe() { 41 throw("too many writes on closed pipe") 42 } 43 44 func sigpanic() { 45 g := getg() 46 if !canpanic(g) { 47 throw("unexpected signal during runtime execution") 48 } 49 50 // Native Client only invokes the exception handler for memory faults. 51 g.sig = _SIGSEGV 52 panicmem() 53 } 54 55 func raiseproc(sig int32) { 56 } 57 58 // Stubs so tests can link correctly. These should never be called. 59 func open(name *byte, mode, perm int32) int32 60 func closefd(fd int32) int32 61 func read(fd int32, p unsafe.Pointer, n int32) int32