semop KEY,OPSTRING
シグナルを送信や、待ち合わせなどのセマフォ操作を行なうために、System V IPC関数semopを呼び出します。
OPSTRINGは、semop構造体のpackされた配列でなければなりません。semop構造体は、それぞれ、pack("sss", $semnum, $semop, $semflag)のように作ることができます。セマフォ操作の数は、OPSTRINGの長さからわかります。成功時には真を、エラー時には偽を返します。
semopの使い方
$semop = pack("sss", $semnum, -1, 0);
die "Semaphore trouble: $!\n" unless semop($semid, $semop);
上記は、セマフォ ID$semidのセマフォ$semnumで待ち合わせを行ないます。セマフォにシグナルを送るには、"-1"を "1" に変更してください。