Go to the first, previous, next, last section, table of contents.

System V IPC 関数

msgctl

  • msgctl(ID,CMD,ARG) System V IPC 関数 msgctl を呼ぶ。 CMD&IPC_STAT である場合は、 ARG は変数でなければならず、これに msqid_ds 構造体が返ってくる。 ioctl と同様の値を返す。 すなわち、エラーがあれば undefined の値、ゼロの場合は `0 だが真'、 その他の場合は実際の返り値が返る。

    msgget

  • msgget(KEY,FLAGS) System V IPC 関数 msgget を呼ぶ。 メッセージキュー ID を返す。エラーがあれば undefined の値を返す。

    msgsnd

  • msgsnd(ID,MSG,FLAGS) System V IPC 関数 msgsnd を呼び、 メッセージキュー ID が ID のメッセージにメッセージ MSG を送る。 MSG の始まりはメッセージ型が long integer でなければならない (これは `pack("L", $type)' で作成できる)。 成功すれば真、エラーがあれば偽を返す。

    msgrcv

  • msgrcv(ID,VAR,SIZE,TYPE,FLAGS) System V IPC 関数 msgrcv を呼び、 メッセージキュー ID からのメッセージを受け取って 変数 VAR に最大メッセージサイズ SIZE で格納する。 注意: メッセージを受け取った場合、 メッセージ型は VAR に格納した最初のものになる。 また、VAR の最大サイズは SIZE + メッセージ型のサイズになる。 成功すれば真を返し、エラーがあれば偽を返す。

    semctl

  • semctl(ID,SEMNUM,CMD,ARG) System V IPC 関数 semctl を呼ぶ。 CMD&IPC_STAT または &GETALL なら、 ARG は変数でなければならず、 これに semid_ds 構造体またはセマフォ値の配列が返る。 ioctl と同様の値を返す。 すなわち、エラーがあれば undefined の値、ゼロの場合は `0 だが真'、 その他の場合は実際の返り値が返る。

    semget

  • semget(KEY,NSEMS,SIZE,FLAGS) System V IPC 関数 semget を呼ぶ。セマフォ ID を返す。 エラーの場合は undefined の値を返す。

    semop

  • semop(KEY,OPSTRING) System V IPC 関数 semop を呼ぶ。 これにより、signalingwaiting などの セマフォ処理を行うことができる。 OPSTRING は、 semop 構造体の配列を pack したものでなければならない。 semop 構造体は、 `pack("sss", $semnum, $semop, $semflag)'で作ることができる。 セマフォ処理の数は OPSTRING の長さで暗黙の内に指定される。 成功すれば真、エラーがあれば偽を返す。
    例: 次のコードはセマフォ ID $semid のセマフォ $semnum を待つ。
    $semop = pack("sss", $semnum, -1, 0);
    die "Semaphore trouble: $!\n" unless semop($semid, $semop);
    
    セマフォにシグナルを送るには、`-1'`1' に置き換えればよい。

    shmctl

  • shmctl(ID,CMD,ARG) System V IPC 関数 shmctl を呼ぶ。 CMD&IPC_STAT である場合は、 ARG は変数でなければならず、 これに shmid_ds 構造体が返ってくる。 ioctl と同様の値を返す。 すなわち、エラーがあれば undefined の値、ゼロの場合は `0 だが真'、 その他の場合は実際の返り値が返る。

    shmget

  • shmget(KEY,SIZE,FLAGS) System V IPC 関数 shmget を呼ぶ。共有メモリ ID を返す。 エラーがあれば undefined の値を返す。

    shmread

    shmwrite

  • shmread(ID,VAR,POS,SIZE)
  • shmwrite(ID,STRING,POS,SIZE) System V 共有メモリセグメント ID に、 位置 POS から サイズ SIZE にわたって attach し、 copy in/out し、detach することで読み込み/書き込みを行う。 読み込みの際には、VAR は変数でなければならず、 読み込まれるデータが格納される。 STRING が短い場合は、 SIZE バイトを満たすためヌルが書かれる。 成功すれば真、エラーがあれば偽を返す。

  • Go to the first, previous, next, last section, table of contents.