2017-12-11 3 views
0

同じキーを使用して同じsemIdを取得したいと思います。 同じ鍵でsemgetメソッドを呼び出しましたが、異なるsemIdが返されました。セマフォsemgetメソッド戻り値確認

この問題が発生した理由をお答えください。

サンプルソース:

int id1, id2; 
int semflg = IPC_CREAT | 0666; 
id1 = semget(0, 1, semflg); 
id2 = semget(0, 1, semflg); 

結果:!ID1 = ID2

+0

'semget'はC言語の一部ではないので、この質問にいくつかのタグを追加する必要があると思います。 – goodvibration

+0

@shlim 'id1'と' id2'の値は何ですか?誰も値 '-1'を持っていないことを確認しましたか? – cse

+0

id1、id2値はIPCセマフォーに登録された値です たとえばid1 = 786432、id2 = 819201 – shlim

答えて

0

キーID 0は​​3210あり、そして常にセマフォの新しいセットを生成します。有効なキーを選択します。

+0

ありがとうございます。私はIPC_PRIVATEが0だとは思わなかった。 T.T – shlim

関連する問題