Veamos cómo inicializar un cerrojo. Estos pueden ser inicializados de dos formas. La primera es usar la función pthread_mutex_init
y la segunda mediante un macro especial: PTHREAD_MUTEX_INITIALIZER
. La función de inicialización recibe un puntero a pthread_mutex_t
y la configuración
del cerrojo (pthread_mutexattr_t
). La función de inicialización devuelve 0 si ha sido posible crear el cerrojo.
#include <pthread.h>
//returns 0 in sucesses, other values diferent from 0 mean mistake
int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;