XINU
|
未処理のメッセージを「カウント」できるポートを作成する。 More...
#include <xinu.h>
Go to the source code of this file.
Functions | |
syscall | ptcreate (int32 count) |
未処理のメッセージを「カウント」できるポートを作成する。 More... | |
未処理のメッセージを「カウント」できるポートを作成する。
Definition in file ptcreate.c.
未処理のメッセージを「カウント」できるポートを作成する。
Step1. 割り込みを禁止する。
Step2. ポートサイズが0より小さい場合は割り込み状態を復元し、処理を終了する。
Step3. 0〜NPORTS(30)の中で、空きポートIDを探す。
Step4. 空きポートに以下の対応を行う。
・状態をALLOCに変更
・送受信セマフォを作成
・メッセージリストを初期化(先頭と末尾をNULLとする)
・シーケンス番号を1増加
・最大待機メッセージ数を設定
Step5. 割り込み状態を復元する。
[in] | count | ポートサイズ(未処理メッセージの最大数) |
Definition at line 23 of file ptcreate.c.
References disable(), NPORTS, NULL, porttab, PT_ALLOC, PT_FREE, ptentry::pthead, ptentry::ptmaxcnt, ptnextid, ptentry::ptrsem, ptentry::ptseq, ptentry::ptssem, ptentry::ptstate, ptentry::pttail, restore(), semcreate(), and SYSERR.