1*99451b44SJordan Rupprecht #include <sys/time.h> // work around module map issue with iOS sdk, <rdar://problem/35159346> 2*99451b44SJordan Rupprecht #include <sys/select.h> 3*99451b44SJordan Rupprecht #include <stdio.h> 4*99451b44SJordan Rupprecht #include <pthread.h> 5*99451b44SJordan Rupprecht #include <unistd.h> 6*99451b44SJordan Rupprecht 7*99451b44SJordan Rupprecht void * select_thread(void * in)8*99451b44SJordan Rupprechtselect_thread (void *in) 9*99451b44SJordan Rupprecht { 10*99451b44SJordan Rupprecht pthread_setname_np ("select thread"); 11*99451b44SJordan Rupprecht fd_set fdset; 12*99451b44SJordan Rupprecht FD_SET (STDIN_FILENO, &fdset); 13*99451b44SJordan Rupprecht while (1) 14*99451b44SJordan Rupprecht select (2, &fdset, NULL, NULL, NULL); 15*99451b44SJordan Rupprecht return NULL; 16*99451b44SJordan Rupprecht } 17*99451b44SJordan Rupprecht stopper()18*99451b44SJordan Rupprechtvoid stopper () 19*99451b44SJordan Rupprecht { 20*99451b44SJordan Rupprecht while (1) 21*99451b44SJordan Rupprecht sleep(1); // break here 22*99451b44SJordan Rupprecht } 23*99451b44SJordan Rupprecht main()24*99451b44SJordan Rupprechtint main () 25*99451b44SJordan Rupprecht { 26*99451b44SJordan Rupprecht pthread_setname_np ("main thread"); 27*99451b44SJordan Rupprecht pthread_t other_thread; 28*99451b44SJordan Rupprecht pthread_create (&other_thread, NULL, select_thread, NULL); 29*99451b44SJordan Rupprecht sleep (1); 30*99451b44SJordan Rupprecht stopper(); 31*99451b44SJordan Rupprecht } 32