По какой-то причине pthread_create
не позволяет мне передать struct
в качестве аргумента.Проблема не связана с системой, хотя у меня не было возможности протестировать ее на чьей-либо коробке.Это просто не позволит мне передать struct
по какой-то причине;возвращается ошибка № 12.
Проблема не с памятью.Я знаю, что 12 - это ENOMEM, и «это должно быть так», но это не так… он просто не примет мою структуру в качестве указателя.
struct mystruct info;
info.website = website;
info.file = file;
info.type = type;
info.timez = timez;
for(threadid = 0; threadid < thread_c; threadid++)
{
// printf("Creating #%ld..\n", threadid);
retcode = pthread_create(&threads[threadid], NULL, getstuff, (void *) &info);
//void * getstuff(void *threadid);
Когда я запускал этот код в GDB, для некоторыхпричина, он не вернул код 12 .. но когда я запускаю его из командной строки, он возвращает 12.
Есть идеи?