Estoy usando el código anterior para incrementar un contador usando 2 hilos, que toman independientemente el bloqueo mut e incrementan el contador. Estoy frente a un punto muerto después de que los hilos ingresen a esta función.pthread_mutex_lock provoca un interbloqueo
pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER;
void *increment_counter(void *counter_addr)
{
int max = MAX_COUNTER_VALUE;
int iter;
int counter;
for(iter=0;iter< max ;iter++)
// LOCK
pthread_mutex_lock(&mut);
counter++;
// UNLOCK
pthread_mutex_unlock(&mut);
return NULL;
}
¿Alguien podría decirme exactamente dónde me estoy equivocando?
probablemente le querían 'int contador = * counter_addr' y' ++ * counter'. –