선택한 설명자가 요청된 작업에 대해 준비되지 않은 경우 pselect() 또는 select() 함수는 요청된 작업 중 하나 이상이 준비될 때까지, 시간 지정이 발생할 때까지 또는 신호에 의해 중단될 때까지 차단합니다. 시간 시간 매개 변수는 pselect() 또는 select() 함수가 타이밍 을 해제하기 전에 걸리는 시간을 제어합니다. 시간 지정 매개 변수가 null 포인터가 아닌 경우 선택 영역이 완료될 때까지 기다릴 최대 간격을 지정합니다. 요청된 작업이 준비되지 않고 지정된 시간 간격이 만료되면 함수가 반환됩니다. 시간 지정 매개 변수가 null 포인터인 경우 pselect() 또는 select()에 대한 호출은 하나 이상의 설명자가 지정된 기준을 충족할 때까지 무기한 으로 차단됩니다. 폴링 효과를 내기 위해 시간 시간 매개 변수는 null 포인터가 아니어야 하며 0값 timespec 구조를 가리가야 합니다. #include int pselect(int nfds, fd_set *읽기 제한, fd_set *쓰기 제한, fd_set *오류 제한, 구성스트 구조시간 시간 제한 *제한 시간 제한, const sigset_t *제한 시그마스크); int select(int nfds, fd_set *readfds 제한, fd_set *쓰기 제한, fd_set *오류 제한, 구조적 시간 *제한 시간 제한) 보이드 FD_CLR(int fd, fd_set *fdset); int FD_ISSET(int fd, fd_set *fdset); 보이드 FD_SET(int fd, fd_set *fdset); 보이드 FD_ZERO(fd_set *fdset); pselect() 호출 중에 스레드가 취소되는 경우 등록된 정리 기능을 실행할 때 적용되는 신호 마스크는 원래 신호 마스크 또는 pselect() 호출의 일부로 설치된 신호 마스크입니다. 시그 마스크는 신호 마스크에 대한 포인터입니다(sigprocmask(2 참조)) NULL이 아닌 경우 pselect()가 먼저 시그마스크로 가리키는 신호 마스크로 대체한 다음 „select” 기능을 수행한 다음 원래 신호 마스크를 복원합니다. pselect() 및 select() 함수는 일반 파일, 터미널 및 의사 터미널 장치, [OB XSR] STREAMS 기반 파일, FIFOs, 파이프 및 소켓을 지원합니다.

다른 유형의 파일을 참조하는 파일 설명자에서 pselect() 및 select()의 동작은 지정되지 않습니다. select() 및 pselect())를 사용하면 프로그램이 여러 파일 설명기를 모니터링할 수 있으며, 하나 이상의 파일 설명자가 I/O 작업의 일부 클래스에 대해 „준비”될 때까지 대기할 수 있습니다(예: 입력 가능). 파일 설명자는 차단 없이 해당 I/O 작업(예: read(2))))을 수행할 수 있는 경우 준비된 것으로 간주됩니다. 안녕하세요. pselect())를 사용하면 NULL 시간(블록 무기한)을 사용합니다.

2010 © Copyright Fundacja Projekt Kultura