Я пытался создать простой поток, который читает из стандартного ввода и сохраняет входные данные в связанный список. При создании и присоединении к потоку я получаю следующую ошибку:
warning: passing argument 1 of ‘pthread_join’ makes integer from pointer without a cast [-Wint-conversion]
pthread_join(prod_thread, NULL);
Я передаю аргумент thread_t * в pthread_join, но кажется, что он ожидает int, который меня смущает. Кто-нибудь может объяснить, почему это происходит? Вот код:
pair_t* head = malloc(sizeof(pair_t));
pthread_t* prod_thread = malloc(sizeof(pthread_t));
pthread_create(prod_thread, NULL, prod_func, head);
pthread_join(prod_thread, NULL);
Функция prod_func выглядит следующим образом:
void* prod_func(void* head) {
...
}
Я также пытался вызвать pthread_join(&prod_thread, NULL);
, но затем я получаю ту же ошибку.