jfcmacro icon

crearSemaforo.cpp

jfcmacro | PRO | 03/15/19 03:45:58 PM UTC | 0 ⭐ | 334 👁️ | Never ⏰ | []
text |

810 B

|

None

|

0 👍

/

0 👎

#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>intmain(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 voidusage(const char *progname) {  cerr << "Uso: " << progname       << " <semkey> " << endl;  exit(EXIT_FAILURE);}

Comments