2012-09-26 27 views
5

Un libcurl en mi código php parece estar bloqueado indefinidamente en una llamada poll. Cuando hice un strace a la identificación del proceso,libcurl atrapado en los tiempos de espera de POLLIN

[[email protected] ~]$ sudo strace -p 19559 
Process 19559 attached - interrupt to quit 
poll([{fd=7, events=POLLIN}], 1, 1000) = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 0)  = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 1000) = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 0)  = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 1000) = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 0)  = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 1000) = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 0)  = 0 (Timeout) 
poll([{fd=7, events=POLLIN}], 1, 1000) = 0 (Timeout) 

Esto continúa indefinidamente. El fd 7 se muestra en/proc/19559/fd como

lrwx------ 1 root root 64 Sep 19 19:44 7 -> socket:[335178801] 

Puede alguien decirme por qué ocurre esto. ¿Qué puedo hacer para que libcurl salga cuando caduque

+2

+1 para usar 'strace' ... si solo lo hicieran más personas. – Leigh

Respuesta

5

curl_setopt opción CURLOPT_CONNECTTIMEOUT si se establece en un valor distinto de cero hará que curl falle al tiempo de espera.

Cuestiones relacionadas