]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
- work on dbus interface
authorArvin Schnell <aschnell@suse.de>
Fri, 3 Aug 2012 08:43:32 +0000 (10:43 +0200)
committerArvin Schnell <aschnell@suse.de>
Fri, 3 Aug 2012 08:43:32 +0000 (10:43 +0200)
server/Client.cc
snapper/Compare.cc

index 0ee339edb27408c25c335384ebcb312e93affc1e..456d87c1cf2950ec8bc4784a1f9e59957a2abe1e 100644 (file)
@@ -1272,6 +1272,10 @@ Client::dispatch(DBus::Connection& conn, DBus::Message& msg)
            conn.send(reply);
        }
     }
+    catch (const boost::thread_interrupted&)
+    {
+       throw;
+    }
     catch (const DBus::MarshallingException& e)
     {
        DBus::MessageError reply(msg, "error.dbus.marshalling", DBUS_ERROR_FAILED);
@@ -1324,6 +1328,7 @@ Client::dispatch(DBus::Connection& conn, DBus::Message& msg)
     }
     catch (...)
     {
+       y2err("caught unknown exception");
        DBus::MessageError reply(msg, "error.something", DBUS_ERROR_FAILED);
        conn.send(reply);
     }
@@ -1366,6 +1371,7 @@ Client::worker()
     }
     catch (const boost::thread_interrupted&)
     {
+       y2mil("worker interrupted");
     }
 }
 
index c2b13f449077e080d523a20ea1854da78bffd01e..b6979da702c878ccaa1b9aa8f50c8322aa59128a 100644 (file)
@@ -29,6 +29,7 @@
 #include <errno.h>
 #include <vector>
 #include <algorithm>
+#include <boost/thread.hpp>
 
 #include "snapper/Log.h"
 #include "snapper/AppUtil.h"
@@ -398,6 +399,8 @@ namespace snapper
 
        while (first1 != last1 || first2 != last2)
        {
+           boost::this_thread::interruption_point();
+
            if (first1 == last1)
            {
                if (first2->stat.st_dev == cmp_data.dev2)