JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... m_wait (3) で停止している別のプロセスやスレッドが呼び起こされ、 セマフォをロックできるようになる。 返り値 成功すると、 sem_post () は 0 を返す。エラーの場合、セマフォの値は変更せずに、 -1 を返し、 errno にエラーを示す値をセットする。 エラー EINVAL se ... まうところであった。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インターフェース 属性 値 sem_post () Thread safety MT-Safe 準拠 POSIX.1-2001. 注意 sem_post () は async-signal-safe である。 つまり、シグナルハンドラーの中で ... ... に使われる値を 秒単位で指定する。このシグナルハンドラーは、 main() 内で sem_timedwait () を使って待っているセマフォを、 sem_post (3) を使って加算する。 2番目の引数には、 sem_timedwait () に渡すタイムアウトまでの時間を秒単位で指定する。 $ ./a.out 2 3 A ... bout to call sem_timedwait() sem_post() from handler sem_timedwait() succeeded $ ./a.out 2 1 About to call sem_timedwait() sem_timedwait() timed out プログラムの ... le_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) static void handler(int sig) { write(STDOUT_FILENO, "sem_post() from handler\n", 24); if (sem_post(&sem) == -1) { write(STDERR_FILENO, "sem_post() failed\n", 18); _exit(EXIT_FAILURE); ... ... に使われる値を 秒単位で指定する。このシグナルハンドラーは、 main() 内で sem_timedwait () を使って待っているセマフォを、 sem_post (3) を使って加算する。 2番目の引数には、 sem_timedwait () に渡すタイムアウトまでの時間を秒単位で指定する。 $ ./a.out 2 3 A ... bout to call sem_timedwait() sem_post() from handler sem_timedwait() succeeded $ ./a.out 2 1 About to call sem_timedwait() sem_timedwait() timed out プログラムの ... le_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) static void handler(int sig) { write(STDOUT_FILENO, "sem_post() from handler\n", 24); if (sem_post(&sem) == -1) { write(STDERR_FILENO, "sem_post() failed\n", 18); _exit(EXIT_FAILURE); ... ... に使われる値を 秒単位で指定する。このシグナルハンドラーは、 main() 内で sem_timedwait () を使って待っているセマフォを、 sem_post (3) を使って加算する。 2番目の引数には、 sem_timedwait () に渡すタイムアウトまでの時間を秒単位で指定する。 $ ./a.out 2 3 A ... bout to call sem_timedwait() sem_post() from handler sem_timedwait() succeeded $ ./a.out 2 1 About to call sem_timedwait() sem_timedwait() timed out プログラムの ... le_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) static void handler(int sig) { write(STDOUT_FILENO, "sem_post() from handler\n", 24); if (sem_post(&sem) == -1) { write(STDERR_FILENO, "sem_post() failed\n", 18); _exit(EXIT_FAILURE); ... ... り、その値は決して 0 未満になることは許されない。 セマフォに対してできる操作は 2 つである: セマフォ値を 1 増やす ( sem_post (3)); セマフォ値を 1 減らす ( sem_wait (3))。 セマフォの値がすでに 0 の場合、セマフォ値が 0 より大きくなるまで sem_wait (3 ... 関数は、新しい名前付きセマフォを作成するか、既に存在する名前付き セマフォをオープンする。 セマフォをオープンした後は、 sem_post (3) と sem_wait (3) を使ってセマフォを操作できる。 プロセスがセマフォの使用を終えた際は、 sem_close (3) を使ってセマフォを ... 内に配置しなければならない。 名前なしセマフォは、使用する前に sem_init (3) を使って初期化しなければならない。 セマフォは sem_post (3) と sem_wait (3) を使って操作できる。 セマフォがもはや必要なくなったときや、 セマフォが置かれているメモリーを解放する前 ... ... nto the process's address space, and initializes two POSIX semaphores inside the object to 0. After the "send" program has posted the first of the semaphores, the "bounce" program upper cases the data that has been placed in the memory by the "send" ... program and then posts the second semaphore to tell the "send" program that it may now access the shared memory. /* pshm_ucase_bounce.c Licensed ... == -1) errExit("sem_init-sem1"); if (sem_init(&shmp->sem2, 1, 0) == -1) errExit("sem_init-sem2"); /* Wait for 'sem1' to be posted by peer before touching shared memory */ if (sem_wait(&shmp->sem1) == -1) errExit("sem_wait"); /* Convert data in shared ... ... nto the process's address space, and initializes two POSIX semaphores inside the object to 0. After the "send" program has posted the first of the semaphores, the "bounce" program upper cases the data that has been placed in the memory by the "send" ... program and then posts the second semaphore to tell the "send" program that it may now access the shared memory. /* pshm_ucase_bounce.c Licensed ... == -1) errExit("sem_init-sem1"); if (sem_init(&shmp->sem2, 1, 0) == -1) errExit("sem_init-sem2"); /* Wait for 'sem1' to be posted by peer before touching shared memory */ if (sem_wait(&shmp->sem1) == -1) errExit("sem_wait"); /* Convert data in shared ... ... H ieee1394mapfile=A_PATH pnpbiosmapfile=A_PATH [add] probe name module_list [add] probeall name module_list prune filename post-install module command ... post-remove module command ... pre-install module command ... pre-remove module command ... rem ... 見ることができる。 above 指定行は依存関係が modules.dep ファイルには記述できないほど複雑なような状況下で有用である。 これは post-install および pre-remove 指定行の最適化された場合であるとみなすことができる。 モジュールのインストールに失敗しても、 modp ... elow 指定行は依存関係が modules.dep ファイルには記述できないほど複雑なような状況下で有用である。 これは pre-install および post-remove 指定行の最適化された場合であるとみなすことができる。 モジュールのインストールに失敗しても、 modprobe の終了ステータ ... ... 継承するため、 子プロセスもセマフォにアクセスできる。) 共有メモリー領域にアクセスできるプロセスならば、どのプロセスでも sem_post (3) や sem_wait (3) などを使ってセマフォを操作できる。 すでに初期化済のセマフォを初期化した場合の挙動は定義されていない。 ... これが修正され、成功時には 0 を返すことが規定された。 例 sem_open (3) と sem_wait (3) を参照。 関連項目 sem_destroy (3), sem_post (3), sem_wait (3), sem_overview (7) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部で ... ... マンドに似ていますが、"modprobe -r" が実行されるときに、呼び出される点が異なっています。 softdep modulename pre: modules... post: modules... softdep コマンドを使えば、 ゆるやかな、すなわち使用・不使用が任意なモジュールの依存関係を指定できます。 module ... 別のモジュールをロードする必要があるかもしれません。 前依存モジュールや後依存モジュール (訳注: 上記 softdep の書式の pre: や post: に続く modules... ) は、 modulename という引数によって指定されたメインモジュールの前後に、 modprobe が 順番に組み込み (あ ... るいは、取り外し) を試みるほかのモジュールの名前やエイリアスのリストです。 用例: "softdep c pre: a b post: d e" という設定がなされているとします。このとき、"modprobe c" を実行するのは、この softdep コマンドを設定せずに、"modprob ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。