我正在研究NetBSD系统。
正如我从Richard Stevens的一本关于UNIX编程的书中回忆起的那样,我认为semget()调用会为不同的调用返回不同的值,即使对于同一个线程也是如此。
我最近碰巧看到一组进程,其中此semget()的不同调用将返回相应IPC键的相同值集。我看到不同框中的相同过程图像也为semid产生相同的值。
所以,我的问题是 - 无论如何我们可以强制semget()表现出这种行为吗?
答案 0 :(得分:0)
semget始终返回与指定键关联的信号量。如果指定相同的键,则将获得相同的信号量。我相信即使使用netbsd也必须如此。
int semget(key_t key, int nsems, int semflg);