]> git.sesse.net Git - casparcg/commitdiff
2.1.0: main: ffmpeg can call abort, that is bad! handle the abort signal and throw...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 31 Mar 2012 16:03:32 +0000 (16:03 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 31 Mar 2012 16:03:32 +0000 (16:03 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.1.0@2781 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

shell/main.cpp

index 9d9dc49470820c378e8754c48608f1bdd47d8f88..f9e827305259949c6d32282e2a362bc8878a0bd1 100644 (file)
@@ -66,6 +66,8 @@
 #include <boost/property_tree/xml_parser.hpp>\r
 #include <boost/foreach.hpp>\r
 \r
+#include <signal.h>\r
+\r
 using namespace caspar;\r
        \r
 // NOTE: This is needed in order to make CComObject work since this is not a real ATL project.\r
@@ -267,9 +269,15 @@ void run()
        CASPAR_LOG(info) << "Successfully shutdown CasparCG Server.";\r
 }\r
 \r
+void on_abort(int)\r
+{\r
+       CASPAR_THROW_EXCEPTION(invalid_operation() << msg_info("abort called"));\r
+}\r
+\r
 int main(int argc, wchar_t* argv[])\r
 {      \r
        SetUnhandledExceptionFilter(UserUnhandledExceptionFilter);\r
+       signal(SIGABRT, on_abort);\r
 \r
        std::wcout << L"Type \"q\" to close application." << std::endl;\r
        \r