#include #include #include #include #include #include #include using namespace std; static void usage(const char *progname); // crearSemaforo int main(int argc, char *argv[]) { if (argc != 2) usage(argv[0]); int key = atoi(argv[1]); int semid = semget(key, 1, IPC_CREAT | IPC_EXCL | 0660); if (semid == -1) { cerr << "Error creando el semaforo: " << strerror(errno) << endl; return EXIT_FAILURE; } if (semctl(semid, 0, SETVAL, 0) == -1) { cerr << "Error estableciendo valor del semaforo: " << strerror(errno) << endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } static void usage(const char *progname) { cerr << "Uso: " << progname << " " << endl; exit(EXIT_FAILURE); }