-6
다음 중 EINTR 또는 EAGAIN/EWOULDBLOCK을 반환 할 수있는 시스템 호출은 무엇입니까?EINTR 또는 EAGAIN 오류 코드를 반환 할 수있는 시스템 호출은 무엇입니까?
getsockname()
chdir()
bind()
fcntl()
listen()
setsid()
setsockopt()
socket()
stat()
unlink()
access()
accept()
open()
usleep()
dup2()
fork()
waitpid()
wait()
read()
write()
이러한 시스템 호출 중 일부는 오류시 (매뉴얼 페이지의 API에 따라) EINTR 또는 EAGAIN을 반환합니다.
또한 API에서 EINTR/EAGAIN을 참조하지 않지만이를 반환하는 시스템 호출이 있습니다.
도와주세요.
나를 미친 소리로 불러야하지만, 숙제 문제와 같은 것 같습니다. –
많은 시스템 호출이 이러한 오류 코드를 반환 할 수 있습니다. 확인해야 할 곳은 [POSIX 2008/2013 사양] (http://pubs.opengroup.org/onlinepubs/9699919799/toc.htm)입니다. 각 함수를 단계별로 실행하여 EINTR 또는 EAGAIN이 유효한 오류 코드인지 여부를 확인할 수 있습니다. 또는 시스템의 맨 페이지를 살펴볼 수도 있습니다. 단일 페이지에서 시스템 호출 및 오류 코드를 나열하는 온라인 리소스에 대해서는 잘 모릅니다. 큰 페이지가 될 것입니다. –
필자는 man 페이지 나 Open Group 스펙이 그러한 정보에 사용될 수 있다는 것을 알고 있지만 많은 사람들이 매뉴얼 페이지 나 스펙에서 이들을 참조하지 않는 일부 시스템 호출에 대해 EINTR/EAGAIN 오류 코드를 처리한다는 것을 알고 있습니다. 일부 시스템 호출은 EINTR/EAGAIN을 리턴하는 다른 시스템 호출을 사용하기 때문에 발생할 수 있습니다. 매뉴얼 페이지 나 스펙이 그것을 언급 할 때만 EINTR/EAGAIN을 처리해야합니까? –