EN JA
PSELECT(2)
PSELECT(2) FreeBSD System Calls Manual PSELECT(2)

名称

pselectPOSIX.1g のように多重送信される同期 I/O

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/select.h>

int
pselect( int nfds, fd_set * restrict readfds, fd_set * restrict writefds, fd_set * restrict exceptfds, const struct timespec * restrict timeout, const sigset_t * restrict newsigmask);

解説

pselect() 関数は、 select(2) のわずかに強化されたバージョンとして、 IEEE Std 1003.1g-2000 (“POSIX.1g”) によって導入されました。 nfds, readfds, writefdsexceptfds 引数は、 select() の類似の引数とすべて同じです。 pselect() の timeout 引数は、 select() によって使用される (修正可能な) struct timeval でなく const struct timespec を指します。 select() のように、NULL ポインタは、 pselect() が永久にウェート (wait) するべきであることを示すために渡されます。最後に、 newsigmask は、入力をウェートしている間に設定されるシグナルマスクを指定します。 pselect() が返るとき、オリジナルのシグナルマスクは、復元されます。

このインタフェースのセマンティックのより詳細な議論と fd_set データタイプを操作するために使用されるマクロについては、 select(2) を参照してください。

戻り値

pselect() 関数は、同じ値で、 select() と同じ条件の下で返ります。

エラー

pselect() 関数は、 select(2) と (シグナルマスクが提供されるなら) sigprocmask(2) のために文書化された理由のいずれでも失敗するかもしれません。

規格

pselect() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。

歴史

pselect() 関数は、 FreeBSD 5.0 ではじめて登場しました。

作者

pselect() 関数の最初の実装とこのマニュアルページは、 Garrett Wollman <wollman@FreeBSD.org>によって書かれました。
August 16, 2013 FreeBSD