github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libgo/go/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  func nacl_exception_stack(p unsafe.Pointer, size int32) int32
    10  func nacl_exception_handler(fn, arg unsafe.Pointer) int32
    11  func nacl_sem_create(flag int32) int32
    12  func nacl_sem_wait(sem int32) int32
    13  func nacl_sem_post(sem int32) int32
    14  func nacl_mutex_create(flag int32) int32
    15  func nacl_mutex_lock(mutex int32) int32
    16  func nacl_mutex_trylock(mutex int32) int32
    17  func nacl_mutex_unlock(mutex int32) int32
    18  func nacl_cond_create(flag int32) int32
    19  func nacl_cond_wait(cond, n int32) int32
    20  func nacl_cond_signal(cond int32) int32
    21  func nacl_cond_broadcast(cond int32) int32
    22  func nacl_cond_timed_wait_abs(cond, lock int32, ts unsafe.Pointer) int32
    23  func nacl_thread_create(fn, stk, tls, xx unsafe.Pointer) int32
    24  func nacl_nanosleep(ts, extra unsafe.Pointer) int32
    25  
    26  func os_sigpipe() {
    27  	gothrow("too many writes on closed pipe")
    28  }
    29  
    30  func sigpanic() {
    31  	g := getg()
    32  	if !canpanic(g) {
    33  		gothrow("unexpected signal during runtime execution")
    34  	}
    35  
    36  	// Native Client only invokes the exception handler for memory faults.
    37  	g.sig = _SIGSEGV
    38  	panicmem()
    39  }