0

の中に

int select(
          int nfds,
          fd_set *readfds,
          fd_set *writefds,
          fd_set *exceptfds,
          struct timeval *timeout); 

syscallnfdsは、ビットマップに設定されているすべてのファイル記述子の中で、関心のある最大のファイル記述子です。これは、実装がシステム内のすべてのファイル記述子をスキャンする必要がないように効率化するためのものだと思います。その場合、この syscall で引数を渡して、関心のある最小のファイル記述子も指定できないのはなぜですか?

4

1 に答える 1

1

あなたが言うように、ファイル記述子の番号付けはシステムごとではなくプロセスごとです。したがって、それらは毎回ゼロから開始されるため、下限を設定してもあまり役に立ちません。

于 2012-03-31T20:41:37.480 に答える