]> granicus.if.org Git - icinga2/commitdiff
Defer: ensure not to throw any exceptions out of a destructor
authorAlexander A. Klimov <alexander.klimov@icinga.com>
Fri, 1 Mar 2019 13:29:35 +0000 (14:29 +0100)
committerAlexander A. Klimov <alexander.klimov@icinga.com>
Fri, 1 Mar 2019 13:29:35 +0000 (14:29 +0100)
refs #6989

lib/base/defer.hpp

index 33cc197db46f4da3271d383ef74ffb92ce5a1dab..9290c92b9ec8882eb93161a2c145a1165dbf1f8b 100644 (file)
@@ -30,7 +30,11 @@ public:
        inline
        ~Defer()
        {
-               m_Func();
+               try {
+                       m_Func();
+               } catch (...) {
+                       // https://stackoverflow.com/questions/130117/throwing-exceptions-out-of-a-destructor
+               }
        }
 
 private: