呼叫 System V IPC 函式 semop(2) 以進行信號傳遞和等待等旗標操作。OPSTRING 必須是 semop 結構的封裝陣列。每個 semop 結構可以使用 pack("s!3", $semnum, $semop, $semflag)
產生。OPSTRING 的長度表示旗標操作的數量。如果成功,則傳回 true,如果發生錯誤,則傳回 false。例如,下列程式碼會在旗標 id 為 $semid 的旗標 $semnum 上等待
my $semop = pack("s!3", $semnum, -1, 0);
die "Semaphore trouble: $!\n" unless semop($semid, $semop);
若要發出旗標信號,請將 -1
替換為 1
。另請參閱 "SysV IPC" in perlipc 以及 IPC::SysV
和 IPC::Semaphore
的文件。
移植性問題:"semop" in perlport。