Mam taki kod, do opuszczania semafora (oznaczania na 1):

 
	//	wyznaczam jednoznaczny klucz
	key_t klucz = ftok(".", 'a');
	if (klucz < 0) {
		char *komunikat = strerror(errno);
		printf("ERROR: %s", komunikat);
		return 0;
	} else {
		printf("%d \n", klucz);
	}
	
	int idZestawu = semget(klucz, 1, IPC_CREAT | 0777);
	if (idZestawu < 0) {
		printf("ERROR");
		return 0;
	} else {
		printf("%d \n", idZestawu);
	}
	
	
	struct sembuf semOp;
	semOp.sem_num = 0;
	semOp.sem_op = 1;
	semOp.sem_flg = 0;
	int status = semop(idZestawu, &semOp, 1);
	if (status < 0) {
		printf("ERROR! Nie mogę opuścić/podnieść semafora \n");
	}

Nie wiem jednak jak w drugim procesie sprawdzić jaka wartość jest w semOp.sem_op.
Oczywiście funkcje ftok() i semget() zwracają mi te same wartości co w programie powyżej.