github.com/riscv/riscv-go@v0.0.0-20200123204226-124ebd6fcc8e/misc/cgo/test/issue6997_linux.c (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 // +build !android 6 7 #include <pthread.h> 8 #include <stdio.h> 9 #include <unistd.h> 10 11 static pthread_t thread; 12 13 static void* threadfunc(void* dummy) { 14 while(1) { 15 sleep(1); 16 } 17 } 18 19 int StartThread() { 20 return pthread_create(&thread, NULL, &threadfunc, NULL); 21 } 22 23 int CancelThread() { 24 void *r; 25 pthread_cancel(thread); 26 pthread_join(thread, &r); 27 return (r == PTHREAD_CANCELED); 28 }