イベント操作によって、プロセスはメモリーアクセスイベントと同期をとることができます。rsm_intr_signal_wait() 関数を使用できない場合、rsm_memseg_get_pollfd() でポーリング記述子を取得し、poll システムコールを使用することによって、プロセスはイベント待機を多重送信できます。
rsm_intr_signal_post() 操作および rsm_intr_signal_wait() 操作を使用した場合、カーネルへの ioctl 呼び出しを処理する必要があります。
void ポインタ *memseg を使用すると、インポートセグメントハンドルまたはエクスポートセグメントハンドルのどちらでもタイプキャスト (型変換) できます。*memseg がインポートセグメントハンドルを参照している場合、この関数はエクスポートしているプロセス (エクスポータ) にシグナルを送信します。*memseg がエクスポートセグメントハンドルを参照している場合、この関数はそのセグメントのすべてのインポータにシグナルを送信します。flags 引数に RSM_SIGPOST_NO_ACCUMULATE を設定すると、あるイベントがすでにターゲットセグメントに対して保留中である場合、当該イベントを破棄します。
戻り値: 成功した場合、0 を返します。そうでない場合、エラー値を返します。
セグメントハンドルが無効です
リモートノードに到達できません
void ポインタ *memseg を使用すると、インポートセグメントハンドルまたはエクスポートセグメントハンドルのどちらでもタイプキャスト (型変換) できます。プロセスは timeout ミリ秒まで、あるいは、イベントが発生するまでブロックされます。値が -1 の場合、プロセスはイベントが発生するまで、あるいは、割り込みが発生するまでブロックされます。
戻り値: 成功した場合、0 を返します。そうでない場合、エラー値を返します。
セグメントハンドルが無効です
タイマーが満了しました
待機中に割り込みが発生しました
この関数は、指定された pollfd 構造体を、指定されたセグメントの記述子と rsm_intr_signal_post() で生成された単一固定イベントで初期化します。pollfd 構造体を poll システムコールで使用すると、rsm_intr_signal_post によってシグナル送信されるイベントを待機します。メモリーセグメントがまだ発行されていない場合、poll システムコールは有効な pollfd を返しません。呼び出しが成功するたびに、指定されたセグメントの pollfd 参照カウントがインクリメントします。
戻り値: 成功した場合、0 を返します。そうでない場合、エラー値を返します。
セグメントハンドルが無効です
この呼び出しは、指定されたセグメントの pollfd 参照カウントをデクリメントします。参照カウントが 0 以外の場合、セグメントを発行解除、破壊、またはマッピング解除する操作は失敗します。
戻り値: 成功した場合、0 を返します。そうでない場合、エラー値を返します。
セグメントハンドルが無効です