Mercurial > hg > CbC > CbC_gcc
comparison libgo/misc/cgo/test/cthread_unix.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // Copyright 2013 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 aix darwin dragonfly freebsd linux netbsd openbsd solaris | |
6 | |
7 #include <pthread.h> | |
8 #include "_cgo_export.h" | |
9 | |
10 static void* | |
11 addThread(void *p) | |
12 { | |
13 int i, max; | |
14 | |
15 max = *(int*)p; | |
16 for(i=0; i<max; i++) | |
17 Add(i); | |
18 return 0; | |
19 } | |
20 | |
21 void | |
22 doAdd(int max, int nthread) | |
23 { | |
24 enum { MaxThread = 20 }; | |
25 int i; | |
26 pthread_t thread_id[MaxThread]; | |
27 | |
28 if(nthread > MaxThread) | |
29 nthread = MaxThread; | |
30 for(i=0; i<nthread; i++) | |
31 pthread_create(&thread_id[i], 0, addThread, &max); | |
32 for(i=0; i<nthread; i++) | |
33 pthread_join(thread_id[i], 0); | |
34 } |