From: Gunnar Beutner Date: Tue, 9 Feb 2016 12:56:17 +0000 (+0100) Subject: Build fix X-Git-Tag: v2.5.0~539 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=674badd3ce2a2e7febceb1ba3b49535022cdee68;p=icinga2 Build fix fixes #11096 --- diff --git a/lib/base/object.hpp b/lib/base/object.hpp index 26a4a31fa..c68f22fe5 100644 --- a/lib/base/object.hpp +++ b/lib/base/object.hpp @@ -117,7 +117,7 @@ private: Object(const Object& other); Object& operator=(const Object& rhs); - intptr_t m_References; + uintptr_t m_References; mutable uintptr_t m_Mutex; #ifdef I2_DEBUG @@ -153,15 +153,14 @@ inline void intrusive_ptr_add_ref(Object *object) inline void intrusive_ptr_release(Object *object) { - intptr_t refs; + uintptr_t refs; + #ifdef _WIN32 refs = InterlockedDecrement(&object->m_References); #else /* _WIN32 */ refs = __sync_sub_and_fetch(&object->m_References, 1); #endif /* _WIN32 */ - ASSERT(refs >= 0); - if (refs == 0) { #ifdef I2_LEAK_DEBUG TypeRemoveObject(object);