Pues sencillo, fuera de cualquier funcion, defines el mutex y lo inicializas
static pthread_mutex_t mutexZonaCritica = PTHREAD_MUTEX_INITIALIZER;
y luego dentro de las funciones, donde haya que sincronizar
pthread_mutex_lock(&mutexZonaCritica);
// Codigo que solo haya de tocar un thread
pthread_mutex_unlock(&mutexZonaCritica);
Cuando vayas a compilar, deberas añadir la libreria
-lpthread