LINUX.ORG.RU

Должно быть так:

#include <pthread.h>
void *f(void * a)
{
for(;;)
{
/* somecode */
};
}
int main()
{
void * status;
pthread_t thread;

pthread_create(&thread,0,f,0);
for(;;)
{
/* somecode */
};

pthread_join (thread, &status);
return 0;
}

romanSA
()

>pthread_t * thread;
>pthread_create(thread,0,f,0) << endl;

Кроме согласования типов нужно еще думать головой что пишешь.
В данном случае ты _зачем-то_ передаешь в функцию непроинициализированный указатель... самого то не наводит на подозрения?

Правильно так:

pthread_t * thread = (pthread_t *)malloc(sizeof(pthread_t));
pthread_create(thread...

Вместо malloc возможно memalign, valloc и иже с ними.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.