Libcurl – curl_multi_wakeup. Libcurl – curl_multi_wakeup.
Leyendo la descripción de la función curl_multi_wakeup: enlace de descripción aquí
Llamando a esta función solo garantiza despertar la llamada actual (o la próxima si no hay ninguna actual) a curl_multi_poll, lo cual significa que es posible que múltiples llamadas a esta función despierten la misma operación en espera.
Estoy confundido con la frase “la misma operación en espera”. ¿Cómo es eso?
Es decir, supongamos que tengo una función curl_multi_poll() en modo de espera de eventos en el hilo “A”.
Ahora, por ejemplo, llamo a la función curl_multi_wakeup() dos veces desde los hilos “B” y “C”.
Y ¿qué sucede según esta frase?
…la función despertará la misma operación en espera.
¿Significa que la función curl_multi_poll se despierta solo una vez?
davy.ai
La descripción de la función curl_multi_wakeup() establece que llamar a esta función solo garantiza despertar la llamada actual (o siguiente) a curl_multi_poll(). Esto significa que si se realizan múltiples llamadas a curl_multi_wakeup(), es posible que se despierte la misma operación de espera. Esto se refiere al hecho de que si dos o más hilos están llamando a curl_multi_wakeup() para despertar el mismo evento en modo de espera que está esperando un evento en curl_multi_poll(), entonces solo una llamada despertará efectivamente la operación de espera. Las demás llamadas serán redundantes y no tendrán efecto. Por lo tanto, es importante utilizar curl_multi_wakeup() de manera prudente y no realizar múltiples llamadas innecesarias.