We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent acc923e commit 3280acaCopy full SHA for 3280aca
1 file changed
lib/CurlWrapper.h
@@ -21,16 +21,11 @@
21
#include <assert.h>
22
#include <curl/curl.h>
23
24
+#include <mutex>
25
#include <string>
26
27
namespace pulsar {
28
-struct CurlInitializer {
29
- CurlInitializer() { curl_global_init(CURL_GLOBAL_ALL); }
30
- ~CurlInitializer() { curl_global_cleanup(); }
31
-};
32
-static CurlInitializer curlInitializer;
33
-
34
class CurlWrapper {
35
public:
36
CurlWrapper() noexcept {}
@@ -47,6 +42,8 @@ class CurlWrapper {
47
42
48
43
// It must be called before calling other methods
49
44
bool init() {
45
+ static std::once_flag initFlag;
46
+ std::call_once(initFlag, [] { curl_global_init(CURL_GLOBAL_ALL); });
50
handle_ = curl_easy_init();
51
return handle_ != nullptr;
52
}
0 commit comments