Hi, I'm using curl to get a video stream. This video stream can send frame very slowly (for example one frame every 10 minutes). So i disabled the timeout because i don't want to receive an error if i don't receive any frame. Nevertheless, this lead to not receive any error is the connection is lost (for example, if the ethernet cable is unplugged), and the curl_easy_perform function doesn't abort.
How can I use libcurl to handle that case, where timeout is disabled but error occurs on connection error. Here the option i use on Linux 3.2.0-4-amd64 in Mint LMDE: // set URL to get curl_easy_setopt(pCurlHandle, CURLOPT_URL, szMRL); // no progress meter please curl_easy_setopt(pCurlHandle, CURLOPT_NOPROGRESS, 0L); // Force to don't use cached connection curl_easy_setopt(pCurlHandle, CURLOPT_FRESH_CONNECT, 0); curl_easy_setopt(pCurlHandle, CURLOPT_FORBID_REUSE, 0); // disable timeout that can raise signal curl_easy_setopt(pCurlHandle, CURLOPT_NOSIGNAL, 1L); curl_easy_setopt(pCurlHandle, CURLOPT_TIMEOUT, 0); curl_easy_setopt(pCurlHandle, CURLOPT_CONNECTTIMEOUT, 0); // send all data to this function curl_easy_setopt(pCurlHandle, CURLOPT_HEADERFUNCTION, onWriteHeader); curl_easy_setopt(pCurlHandle, CURLOPT_WRITEHEADER, pContext); // send all data to this function curl_easy_setopt(pCurlHandle, CURLOPT_WRITEFUNCTION, onWriteData); curl_easy_setopt(pCurlHandle, CURLOPT_WRITEDATA, pContext); // Set progress function curl_easy_setopt(pCurlHandle, CURLOPT_PROGRESSFUNCTION, onProgress); curl_easy_setopt(pCurlHandle, CURLOPT_PROGRESSDATA, pContext); Thank you for your help.
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html