Ejemplo n.º 1
0
int main(int argc, char* argv[])
{
	int semid;
	semid = sem_create(1234);
	sleep(5);

	sem_d(semid);
	return 0;
}
Ejemplo n.º 2
0
void write_log (char* mess, int sid, int fid) {
    sem_d (sid);

    if (write (fid, mess, strlen (mess)) < 0) {
        printf("ERROR in write() work!\n");
        exit(-1);
    }

    sem_a (sid);
}
Ejemplo n.º 3
0
int main(int argc, char *argv[])
{
	int opt;

	opt = getopt(argc, argv, "cdpvs:gfm:");
	if (opt == '?')
		exit(EXIT_FAILURE);
	if (opt == -1)
	{
		usage();
		exit(EXIT_FAILURE);
	}

	key_t key = ftok(".", 's');
	int semid;
	switch (opt)
	{
	case 'c':
                sem_create(key);
                break;
        case 'p':
                semid = sem_open(key);
                sem_p(semid);
                sem_getval(semid);
                break;
        case 'v':
                semid = sem_open(key);
                sem_v(semid);
		sem_getval(semid);
                break;
        case 'd':
                semid = sem_open(key);
                sem_d(semid);
                break;
        case 's':
                semid = sem_open(key);
                sem_setval(semid, atoi(optarg));
                break;
        case 'g':
                semid = sem_open(key);
                sem_getval(semid);
                break;
        case 'f':
                semid = sem_open(key);
                sem_getmode(semid);
                break;
        case 'm':
		semid = sem_open(key);
		sem_setmode(semid, argv[2]);
		break;
	}

	return 0;
}