1b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov/* Invoke pthread_detach() with an invalid thread ID. */ 2b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <assert.h> 4b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <errno.h> 5b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <pthread.h> 6b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <stdio.h> 7b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 8b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic void* thread_func(void* arg) 9b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ 10b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov return 0; 11b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov} 12b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 13b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovint main(int argc, char** argv) 14b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ 15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov pthread_t thread; 16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov pthread_create(&thread, NULL, thread_func, NULL); 18b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov pthread_join(thread, NULL); 19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov /* Invoke pthread_detach() with the thread ID of a joined thread. */ 21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov pthread_detach(thread); 22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov /* Invoke pthread_detach() with an invalid thread ID. */ 24b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov pthread_detach(thread + 1); 25b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 26b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov fprintf(stderr, "Finished.\n"); 27b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 28b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov return 0; 29b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov} 30