1 /* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2021-2023 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18 #define _GNU_SOURCE 19 #include <assert.h> 20 #include <pthread.h> 21 #include <unistd.h> 22 23 /* Number of threads we'll create. */ 24 static const int n_threads = 10; 25 26 /* Entry point for threads. Loops forever. */ 27 28 void * 29 thread_func (void *arg) 30 { 31 while (1) 32 sleep (1); 33 34 return NULL; 35 } 36 37 int 38 main (int argc, char **argv) 39 { 40 int i; 41 42 alarm (30); 43 44 /* Spawn the test threads. */ 45 for (i = 0; i < n_threads; ++i) 46 { 47 pthread_t child; 48 int rc; 49 50 rc = pthread_create (&child, NULL, thread_func, NULL); 51 assert (rc == 0); 52 } 53 54 while (1) 55 sleep (1); 56 57 return 0; 58 } 59