Foros del Web » Programación para mayores de 30 ;) » C/C++ »

pthread

Estas en el tema de pthread en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/08/2007, 18:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 17 años, 4 meses
Puntos: 0
pthread

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
  #2 (permalink)  
Antiguo 14/08/2007, 10:58
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 7 meses
Puntos: 74
Re: pthread

Tus apuntes estan errados, consulta un buscador o el man para esta funcion y veras:

The pthread_mutex_init() function shall initialize the mutex referenced by mutex with attributes specified by attr. If attr is NULL, the default mutex attributes are used; the effect shall be the same as passing the address of a default mutex attributes object. Upon successful initialization, the state of the mutex becomes initialized and unlocked.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:12.