+ struct sembuf op;
+ op.sem_op = -1; // sacar 1
+ op.sem_num = 0; // al semaforo 1
+ op.sem_flg = 0; // esperando
+ return semop(sem_id, &op, 1) >= 0;
+}
+
+/// Hace un signal (V) al semaforo (devuelve false si hubo error).
+bool sem_signal(int sem_id)
+{
+ struct sembuf op;
+ op.sem_op = 1; // agregar 1
+ op.sem_num = 0; // al semaforo 1
+ op.sem_flg = 0; // esperando
+ return semop(sem_id, &op, 1) >= 0;
+}