1 /* Copyright 2007-2015 Free Software Foundation, Inc.
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 static volatile pthread_t main_thread
;
21 pthread_barrier_t barrier
;
28 return 0; /* break-here */
36 pthread_barrier_wait (&barrier
);
38 i
= pthread_join (main_thread
, NULL
);
50 /* First test resuming only `thread_a', which exits. */
51 i
= pthread_create (&thread
, NULL
, thread_a
, NULL
);
53 pthread_join (thread
, NULL
);
55 /* Then test resuming only the leader, which also exits. */
56 main_thread
= pthread_self ();
58 pthread_barrier_init (&barrier
, NULL
, 2);
60 i
= pthread_create (&thread
, NULL
, thread_b
, NULL
);
63 pthread_barrier_wait (&barrier
);
65 pthread_exit (NULL
); /* break-here-2 */