#include #include #include void* run(void *info) { printf((char *)info); return 0; } int main(int argc, char **argv) { int res; static pthread_attr_t attr; static int attr_joinable = PTHREAD_CREATE_JOINABLE; res = pthread_attr_init(&attr); printf("pthread_attr_init returned %d: %s\n", res, strerror(res)); res = pthread_attr_setdetachstate(&attr, attr_joinable); printf("pthread_attr_setdetachstate returned %d: %s\n", res, strerror(res)); char info[] = "go\n"; pthread_t thread; res = pthread_create( &thread, &attr, run, (void *)info ); printf("pthread_create returned %d: %s\n", res, strerror(res)); void *retval; res = pthread_join( thread, &retval ); printf("pthread_join returned %d: %s\n", res, strerror(res)); printf("done\n"); return 0; }