Когда curl_global_init () вообще нужен? - PullRequest
14 голосов
/ 22 мая 2011

Хотя в его документе говорится, что эта функция ДОЛЖНА, но я видел два примера, один из них есть, а другой нет.

http://curl.haxx.se/libcurl/c/persistant.html

http://curl.haxx.se/libcurl/c/multi-app.html

Нужна ли вообще эта функция?

1 Ответ

15 голосов
/ 22 мая 2011

Если оно разработано, оно будет необходимо. документация гласит:

Эта функция должна вызываться как минимум один раз внутри программы (программа - это весь код, который разделяет пространство памяти), прежде чем программа вызовет любую другую функцию в libcurl. Настраиваемая среда является постоянной в течение всего срока действия программы и одинакова для каждой программы, поэтому несколько вызовов имеют тот же эффект, что и один вызов.

Но учтите, что в документации curl_easy_init :

Если вы еще не вызывали curl_global_init (3), curl_easy_init (3) делает это автоматически. Это может привести к летальному исходу в многопоточных случаях, так как curl_global_init (3) не является поточно-ориентированным, и это может привести к проблемам с ресурсами, потому что нет соответствующей очистки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...