Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
- #include <cstdlib>
- #include <cerrno>
- #include <cstring>
- using namespace std;
- static void usage(const char *progname);
- // crearSemaforo <keysem>
- 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
- << " <semkey> " << endl;
- exit(EXIT_FAILURE);
- }
Advertisement
Add Comment
Please, Sign In to add comment