Заморозить при загрузке с libcurl C / C ++ - PullRequest
1 голос
/ 20 ноября 2011

Я работаю над программным обеспечением, которое загружает файл и показывает скорость передачи через окно SDL.Моя проблема в том, что когда я запускаю загрузку, окно сразу идентифицируется окнами как сбойная программа.Как только загрузка завершена, все в порядке.Моя программа не аварийно завершилась, и я думаю, что это потому, что она не может отвечать при загрузке.Любые идеи, как это решить?

PS: пример кода, который «падает» при выполнении:

curl_easy_setopt(curl, CURLOPT_URL, valeurs->URL);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, downloadData);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, file);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);

1 Ответ

1 голос
/ 02 сентября 2012

Чтобы предотвратить это замораживание, вам нужно поместить в основной поток менеджер событий (SDL_PoolEvent + SDL_Delay, чтобы не перегружать процессор)

...