PMCREATEATTACHFD(3)
PM Programmer's Manual
PMCREATEATTACHFD(3)
名前
pmCreateAttachFd - 新しいファイル デスクリプタを生成

形式
int pmCreateAttachFd(pmContext *pmc, int *fdp);

引数
pmContext * pmc
IN
pmContext オブジェクト
int * fdp
OUT
pmAttachContext() で使われるファイル デスクリプタ

実装レベル
基礎

機能説明
pmCreateAttachFd() は pmAttachContext() に渡される新しいファイル デスクリプタを生成します。

注意
この関数の実行中は、他のプロセスはこの関数に渡された pmContext にアクセスしてはいけません。 この関数は以下の例のように使わなければなりません。

戻り値
PM_SUCCESS 成功
EMFILE アクティブなデスクリプタが多すぎます。

waitpid(2) を用いて同時アクセスを回避:
if ((pid = fork()) == 0) {
    error = pmCreateAttachFd(pmc, &fd);
    kill(getpid(), SIGSTOP);        /* tell OK to access pmc */
    invoke application by exec(2).
    _exit(1);
}
waitpid(pid, &stat, WUNTRACED); /* wait until it's OK */
kill(pid, SIGCONT);
親プロセスからこの関数を呼び出し、 pmContext に逐次的にアクセス。
pmCreateAttachFd(pmc, &fd);
if ((pid = fork()) == 0) {
    invoke application by exec(2).
    _exit(1);
}


CREDIT
This document is a part of the SCore cluster system software developed at PC Cluster Consortium, Japan. Copyright (C) 2003 PC Cluster Consortium.