マルチスレッド プログラムを操作しようとしていますが、pthread_join 関数に問題があります。以下のコードは、pthread_join のクラッシュを示すために使用している単純なプログラムです。このコードからの出力は次のようになります。
before create
child thread
after create
Segmentation fault (core dumped)
pthread_join でセグメンテーション違反が発生する原因は何ですか?
#include <pthread.h>
#include <stdio.h>
void * dostuff() {
printf("child thread\n");
return NULL;
}
int main() {
pthread_t p1;
printf("before create\n");
pthread_create(&p1, NULL, dostuff(), NULL);
printf("after create\n");
pthread_join(p1, NULL);
printf("joined\n");
return 0;
}