Hola,
a ver si me podeis ayudar. Estoy trabajando con hilos en C y unix. Tengo una duda con la función pthread_mutex_init, ya que mis apuntes dice:
"Esta función crea una variable de exclusión mutua (mutex) y la inicializa al estado de bloqueado". Lo que no entiendo es porque lo inicializa al estado de bloqueado, ya que si en un programa pongo:
pthread_mutex_init(&m1,NULL);
pthread_mutex_lock(&m1);
No se queda bloqueado aqui pthread_mutex_lock, y debería ya que supuestamente el init pone el mutex m1, en estado bloqueado.
Mientras que si hago:
pthread_mutex_lock(&m1);
pthread_mutex_lock(&m1);
Se queda bloqueado en el segundo pthread_mutex_lock.
¿Alguien me puede explicar como va esto?
Muchas gracias
Saludos