2011-03-08 3 views
3

pthread_create()가 errno 11 (EAGAIN), "Resource temporarily unavailable"을 반환 할 때의 의미는 무엇입니까?pthread_create()가 때때로 Cygwin 포트에서 EAGAIN을 제공합니까?

CentOS 4에서 훌륭하게 작동하는 Cygwin에 내 응용 프로그램을 포팅 할 때마다 응용 프로그램이 pthread_create() 호출에 실패하지만 대부분의 경우 정상적으로 작동합니다.

이게 무슨 의미가 있습니까? 내가 PTHREAD_THREADS_MAX를 타격하고 의심

EAGAIN The system lacked the necessary resources to create another thread, or the system-imposed limit on the total number of threads in a process 
      {PTHREAD_THREADS_MAX} would be exceeded. 

때문에 Cygwin에서 시스템은 다른 스레드를 만들 리소스가 부족 방법을 실행할 수 있습니다 :

리눅스 CentOS의 4 매뉴얼 페이지 말한다? pthread_create() man page 가입일

+0

나는 여러 프로젝트에서 똑같은 일을했고 항상 cygwin의 많은 경고 중 하나를 기록했다. +1 –

+0

@Tim Post 귀하의 해결 방법은 무엇입니까? – WilliamKF

+2

EAGAIN - 다시 시도하십시오. – nos

답변

1

:
EAGAIN
시스템이 다른 스레드를 생성하기 위해 필요한 자원이 부족하거나, 총 스레드 수의 시스템에 부과 한계 :

는 pthread_create() 함수는 경우 실패한다 프로세스 {PTHREAD_THREADS_MAX}에서 초과했습니다.

일부 리소스를 공개 한 후에 다시 시도 할 수 있습니다.