Mercurial > hg > CbC > CbC_gcc
view libgo/misc/cgo/testtls/tls.go @ 133:420680fc7707
do normal call in goto codesegment in normal function
author | anatofuz |
---|---|
date | Sat, 03 Nov 2018 19:49:09 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Copyright 2013 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. package cgotlstest // #include <pthread.h> // extern void setTLS(int); // extern int getTLS(); import "C" import ( "runtime" "testing" ) func testTLS(t *testing.T) { runtime.LockOSThread() defer runtime.UnlockOSThread() if val := C.getTLS(); val != 0 { t.Fatalf("at start, C.getTLS() = %#x, want 0", val) } const keyVal = 0x1234 C.setTLS(keyVal) if val := C.getTLS(); val != keyVal { t.Fatalf("at end, C.getTLS() = %#x, want %#x", val, keyVal) } }