2014-07-23 54 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? –

相關問題