1
/* This testcase is part of GDB, the GNU debugger.
3
Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010
4
Free Software Foundation, Inc.
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 3 of the License, or
9
(at your option) any later version.
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
29
thread_function0 (void *arg)
31
int my_number = (long) arg;
32
volatile int *myp = (volatile int *) &args[my_number];
37
usleep (1); /* Loop increment 1. */
44
thread_function0_1 (void *arg)
46
void *ret = thread_function0 (arg);
48
return ret; /* set breakpoint here */
52
thread_function1 (void *arg)
54
int my_number = (long) arg;
56
volatile int *myp = (volatile int *) &args[my_number];
61
usleep (1); /* Loop increment 2. */
75
args[i] = 1; /* Init value. */
76
res = pthread_create (&threads[i], NULL,
81
args[i] = 1; /* Init value. */
82
res = pthread_create(&threads[i], NULL,
86
pthread_join (threads[0], &thread_result);
87
pthread_join (threads[1], &thread_result);