diff --git a/include/opendht/http.h b/include/opendht/http.h index cccbe18d..0efc26f2 100644 --- a/include/opendht/http.h +++ b/include/opendht/http.h @@ -113,7 +113,7 @@ public: private: unsigned int id_; - static unsigned int ids_; + static std::atomic_uint ids_; asio::io_context& ctx_; std::unique_ptr socket_; @@ -323,9 +323,9 @@ private: std::string host_; unsigned int id_; + static std::atomic_uint ids_; asio::io_context& ctx_; sa_family_t family_ = AF_UNSPEC; - static unsigned int ids_; std::shared_ptr conn_; std::shared_ptr resolver_; diff --git a/src/http.cpp b/src/http.cpp index 8f80dffa..c37d149c 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -77,7 +77,7 @@ Url::Url(const std::string& url): url(url) // connection -unsigned int Connection::ids_ = 1; +std::atomic_uint Connection::ids_ {1}; Connection::Connection(asio::io_context& ctx, const bool ssl, std::shared_ptr l) : id_(Connection::ids_++), ctx_(ctx), logger_(l) @@ -438,7 +438,7 @@ Resolver::resolve(const std::string& host, const std::string& service) // Request -unsigned int Request::ids_ = 1; +std::atomic_uint Request::ids_ {1}; Request::Request(asio::io_context& ctx, const std::string& url, const Json::Value& json, OnJsonCb jsoncb,