]> git.llucax.com Git - software/eventxx.git/blobdiff - eventxx
Add EVENTXX_NO_WARNING to avoid even_base_free() memory leak warning.
[software/eventxx.git] / eventxx
diff --git a/eventxx b/eventxx
index dff4ea374cc9ffcdcc9c91868983113e9351ce1b..2ee228dc3221a090f946de0796565c2badcecfcb 100644 (file)
--- a/eventxx
+++ b/eventxx
  * patch your libevent (for example, using this <a
  * href="http://monkeymail.org/archives/libevent-users/2006-April/000141.html">patch</a>
  * written by Mark D. Anderson, and who knows why it's not still applied). If
  * patch your libevent (for example, using this <a
  * href="http://monkeymail.org/archives/libevent-users/2006-April/000141.html">patch</a>
  * written by Mark D. Anderson, and who knows why it's not still applied). If
- * you do so, you can compile your programs with @c -DEVENT_BASE_FREE_FIX so
- * @c event_base_free() gets called in the eventxx::dispatcher @link
+ * you do so, you can compile your programs with @c -DEVENTXX_EVENT_BASE_FREE_FIX
+ * so @c event_base_free() gets called in the eventxx::dispatcher @link
  * eventxx::dispatcher::~dispatcher() destructor @endlink.
  *
  * That said, I think it's still pretty usable anyways. If something is broken
  * eventxx::dispatcher::~dispatcher() destructor @endlink.
  *
  * That said, I think it's still pretty usable anyways. If something is broken
@@ -414,6 +414,7 @@ enum type
        PERSIST = EV_PERSIST  ///< Not really an event, is an event modifier.
 };
 
        PERSIST = EV_PERSIST  ///< Not really an event, is an event modifier.
 };
 
+inline
 type operator| (const type& t1, const type& t2)
 {
        int r = static_cast< int >(t1) | static_cast< int >(t2);
 type operator| (const type& t1, const type& t2)
 {
        int r = static_cast< int >(t1) | static_cast< int >(t2);
@@ -790,15 +791,17 @@ struct dispatcher
                internal::event_base_priority_init(_event_base, npriorities);
        }
 
                internal::event_base_priority_init(_event_base, npriorities);
        }
 
-#ifdef EVENT_BASE_FREE_FIX
+#ifdef EVENTXX_BASE_FREE_FIX
        /// Free dispatcher resources, see @ref Status section for details.
        ~dispatcher() throw() { event_base_free(_event_base); }
 #else
        /// Free dispatcher resources, see @ref Status section for details.
        ~dispatcher() throw() { event_base_free(_event_base); }
 #else
+#ifndef EVENTXX_NO_WARNING
 #warning "The dispatcher class *will* leak memory because of a libevent bug, " \
     "see http://www.mail-archive.com/libevent-users@monkey.org/msg00110.html " \
     "for more info an a patch. If you already have this patch, please " \
 #warning "The dispatcher class *will* leak memory because of a libevent bug, " \
     "see http://www.mail-archive.com/libevent-users@monkey.org/msg00110.html " \
     "for more info an a patch. If you already have this patch, please " \
-    "-DEVENT_BASE_FREE_FIX to your compiler to make this message disappear " \
+    "-DEVENTXX_EVENT_BASE_FREE_FIX to your compiler to make this message disappear " \
     "and really free the dispatcher memory using event_base_free()."
     "and really free the dispatcher memory using event_base_free()."
+#endif
 #endif
 
        /**
 #endif
 
        /**