I am writing a C program using <pthread.h> .

pthreadobjects - the structure passed to the thread.

 int main{ ... Pthreadobjects = (pthreadobject *)malloc(allthreads * sizeof(pthreadobject)); pthread_barrier_init(&globalblock, NULL, allthreads + 1); //ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ //экзСмпляр Π±Π°Ρ€ΡŒΠ΅Ρ€Π° Pthreadobjects[i].globalblock = &globalblock; // ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ структурС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ pthread_create(Pthreads + i, NULL, &pthreadfunc, Pthreadobjects + i); pthread_barrier_wait(&globalblock); //ΠΆΠ΄Ρ‘ΠΌ выполнСния Π½ΠΈΡ‚Π΅ΠΉ ... } void * pthreadfunc(void * elem){ //функция для Π½ΠΈΡ‚ΠΈ pthreadobject * PTHO = elem; pthread_barrier_wait(PTHO -> globalblock); return 0; } 

When you start the program gives a certain answer, finishes the calculations, but sometimes the following error occurs:

The futex facility returned an unexpected error code.

What am I doing wrong?

    0