通信管理 XNF/AS プログラマーズガイド HSC編
BT_SELECT( )
非同期方式の関数の完了を監視します。
#include <sys/types.h> #include <sys/time.h> #include <dlicom/bsc.h> int BT_SELECT(nfds,readfds,writefds,exceptfds,timeout); int nfds; fd_set *readfds,*writefds,*exceptfds; struct timeval *timeout; |
非同期方式で要求したライブラリ関数の完了を監視します。
nfdsには,監視するファイル記述子セットの範囲を指定します。0からnfds-1までの記述子が調べられます。
readfdsには,監視するファイル記述子に対するビットをONにしたファイル記述子セット(8個のlong型)へのポインタを指定します。ファイル記述子=nで事象が発生しているかどうかを監視する場合は,2nビットをONにします。
nの最大値は256(=8×32)ですが,実際は一つのプロセスで同時にオープンできるファイル数の上限(OSの仕様)に制限されます。
writefdsとexceptfdsは予備です(0を設定してください)。
timeoutには,非同期事象が発生していないときに,sleepする時間を設定したtimeval構造体へのポインタを指定します。
struct timeval { long tv_sec; /* 秒 */ long tv_usec; /* マイクロ秒 */ }; |
tv_secを0にすれば,sleepしないですぐリターンします。timeoutをNULLポインタにすれば,非同期事象が発生するまでsleepします。
詳細については,AIXマニュアルのselectシステムコールを参照してください。
AIXマニュアルのselectシステムコールを参照してください。
All Rights Reserved. Copyright (C) 2002, 2009, Hitachi, Ltd.