2014-07-23 28 views
0

我正在使用NetBSD系统。NetBSD - 我们可以强制semget()返回相同的semid吗?

当我回忆起Richard Stevens编写的有关UNIX编程的书籍时,我承认semget()调用为不同的调用返回不同的值,即使对于同一个线程也是如此。

我最近碰巧看到一组进程,其中这个semget()的不同调用将返回相应IPC键的相同的一组值。我看到在不同框中的相同过程映像对于semid也会产生相同的值。

所以,我的问题是 - 无论如何,我们可以强迫semget()展现这种行为?

回答

0

semget总是返回与指定键相关的信号量。如果你指定了相同的密钥,你将得到相同的信号量。我相信,即使使用netbsd,情况也是如此。

int semget(key_t key, int nsems, int semflg); 
+0

我觉得我的问题不够清楚 - 我的意思是,对于相同的IPC键不同的调用semget返回不同的semid(由于插槽排序)。即使是同一个线程也是如此。 NOW我的问题是 - 是否有可能保留相同的semid? –

相关问题