Development Tip

EAGAIN은 무엇을 의미합니까?

yourdevel 2020. 12. 25. 10:34
반응형

EAGAIN은 무엇을 의미합니까?


제목에서 EAGAIN은 무엇을 의미합니까?


EAGAIN비 블로킹 I / O를 수행 할 때 종종 발생 합니다. 이는 "현재 사용 가능한 데이터가 없습니다 . 나중에 다시 시도하십시오 . "라는 의미 입니다.

그것은 (또는 그렇지 않을 수도 )와 동일 할 EWOULDBLOCK수단이되는, "당신의 스레드가 그렇게하기 위해 블록에있을 것입니다" .


사용 man 2 intro | less -Ip EAGAIN:

     35 EAGAIN Resource temporarily unavailable.  This is a temporary condi-
         tion and later calls to the same routine may complete normally.

그것이 의미하는 바는 덜 중요합니다. 의미 :

  • 시스템 호출이 실패했습니다
  • 아무 일도 일어나지 않았습니다 (시스템 호출은 원자 적이며 이것은 발생하지 않았습니다)
  • 다시 시도 수 있습니다 ( 다른 결과로 인해 다시 실패 할 수 있음).
  • 아니면 다르게 선택할 있습니다.

모든 것은 EAGAIN시스템 호출 내에서 프로세스가 차단되지 않는다는 것입니다. 재 시도하거나 유용한 작업을 선택할 권리가 있습니다.


에 따르면 , 그것은 "작업 과정이 중단되는 원인이 된 것"을 의미합니다.

참조 URL : https://stackoverflow.com/questions/4058368/what-does-eagain-mean

반응형