Non è quella la riga che viene segnalata. E' quella in cui fai l'assegnamento della macro PTHREAD_MUTEX_INITIALIZER.

Spulciando il WEB ho trovato questo:

http://lists.linux.org.au/archives/t.../msg00017.html

Sostituisci l'assegnazione della macro PTHREAD_MUTEX_INITIALIZER con la chiamata alla funzione pthread_mutex_init, in questo modo:

codice:
// Da sostituire
arg->mutex=PTHREAD_MUTEX_INITIALIZER;

// con
pthread_mutex_init (&(arg->mutex), NULL);
Ci sono altri errori nel codice. Una cosa importante: hai dichiarato (correttamente) il ritorno a "int" della funzione main(), ma non hai messo il classico "return 0;" alla fine...


Ciao.