pselect

pselect()用來等待檔案描述詞狀態的改變,和select()類似,它增加了逾時值的精度,並且可以在等待檔案描述符“準備好”的同時指定一組信號掩碼。

函式原型:
#include <sys/select.h>
int pselect(int maxfdp1,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const struct timespec *tsptr,const sigset_t *sigmask);
返回值:準備就緒的描述符數,若逾時則返回0,若出錯則返回-1
除以下幾點,pselect與select相同:
select的逾時值用timeval結構指定,但pselect使用timespec,timespec結構以秒和納秒表示逾時值,而非秒和微妙。如果平台支持這樣精細的粒度,那么timespec就提供了更精準的逾時時間。
對於pselect可使用一可選擇的信號禁止字。若sigmask為空,那么在與信號有關的方面,pselect的運行狀況和select相同。否則,sigmask指向一信號禁止字,在調用pselect時,以原子操作的方式安裝該信號禁止字。在返回時恢復以前的信號禁止字。

相關詞條

熱門詞條

聯絡我們