]> granicus.if.org Git - icinga2/commitdiff
Make sure to remove dead weak delegates from events.
authorGunnar Beutner <gunnar.beutner@netways.de>
Sat, 31 Mar 2012 07:36:38 +0000 (09:36 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Sat, 31 Mar 2012 07:36:38 +0000 (09:36 +0200)
base/event.h

index de6e6cbbe1c6c6c012cd854205b7b869b105fcf7..36e07e5fa4c73241cf114aee8e933237d09e4ec5 100644 (file)
@@ -42,7 +42,10 @@ public:
                        prev = i;
                        i++;
 
-                       (*prev)(args);
+                       int result = (*prev)(args);
+
+                       if (result == -1)
+                               m_Delegates.erase(prev);
                }
        }
 };