이미 정의한 공유 메모리에 쓰는 프로세스 수가 다릅니다. 시스템 V 세마포를 사용하여 노력하고있어. 세마포어 (sem_access
가) 1세마포를 통해 공유 메모리에 액세스하십시오.
sem_access.sem_op = -1;
semop(sem_access_id, &sem_access, 1);
info->index++;
printf ("INDEX= %d\n", info->index);
sem_access.sem_op = 1;
semop(sem_access_id, &sem_access, 1);
문제에 초기화는 것을 항상 printf
인쇄 같은 수의 인덱스를 증가하지 않고. 추신 : 나쁜 영어로 죄송합니다.하지만 스페인어입니다. 편집 : sleep(1)
을 삽입하면 제대로 작동하지만 실제로는 잠을 자고 싶지 않습니다.
'semop()'호출의 반환 값은 무엇입니까? 너는 그것을 무시하고있다. –
0을 반환하고 오류가 발생하지 않습니다. –