diff options
author | Stefan Laner <laner@itestra.de> | 2013-12-20 16:08:54 +0100 |
---|---|---|
committer | Stefan Laner <laner@itestra.de> | 2013-12-20 16:08:54 +0100 |
commit | 881fc08f926de82faba65cb58b0505bb402fc58b (patch) | |
tree | de2945ee32cfcaed1a7f70ca320328762e67a9ce | |
parent | 84236f82eed755e98890ad1e6d607192010a0dea (diff) | |
parent | 57f5b27bb307c13398dd980b88433b7d3cf158e3 (diff) | |
download | genivi-common-api-dbus-runtime-881fc08f926de82faba65cb58b0505bb402fc58b.tar.gz |
Merge remote-tracking branch 'origin/maintain/2.0' into dev/windows
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusConnection.cpp | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index bcb9c08..177b5dd 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.61]) AC_INIT([GENIVI Common API DBus C++ Library], - [2.0], + [2.0.8], [], [CommonAPI-DBus]) @@ -31,7 +31,7 @@ LT_PREREQ(2.2) LT_INIT PKG_PROG_PKG_CONFIG -PKG_CHECK_MODULES(COMMONAPI, [CommonAPI >= 2.0]) +PKG_CHECK_MODULES(COMMONAPI, [CommonAPI = 2.0.8]) PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.4.6]) PKG_CHECK_MODULES(GLIB, [glib-2.0], [], diff --git a/src/CommonAPI/DBus/DBusConnection.cpp b/src/CommonAPI/DBus/DBusConnection.cpp index 3b58241..fc35997 100644 --- a/src/CommonAPI/DBus/DBusConnection.cpp +++ b/src/CommonAPI/DBus/DBusConnection.cpp @@ -414,6 +414,7 @@ std::future<CallStatus> DBusConnection::sendDBusMessageWithReplyAsync( DBusPendingCall* libdbusPendingCall; dbus_bool_t libdbusSuccess; + suspendDispatching(); libdbusSuccess = dbus_connection_send_with_reply( libdbusConnection_, dbusMessage.libdbusMessage_, @@ -422,6 +423,7 @@ std::future<CallStatus> DBusConnection::sendDBusMessageWithReplyAsync( if (!libdbusSuccess || !libdbusPendingCall) { dbusMessageReplyAsyncHandler->onDBusMessageReply(CallStatus::CONNECTION_FAILED, dbusMessage); + resumeDispatching(); return dbusMessageReplyAsyncHandler->getFuture(); } @@ -434,10 +436,15 @@ std::future<CallStatus> DBusConnection::sendDBusMessageWithReplyAsync( if (!libdbusSuccess) { dbusMessageReplyAsyncHandler->onDBusMessageReply(CallStatus::OUT_OF_MEMORY, dbusMessage); dbus_pending_call_unref(libdbusPendingCall); + resumeDispatching(); return dbusMessageReplyAsyncHandler->getFuture(); } - return dbusMessageReplyAsyncHandler.release()->getFuture(); + std::future<CallStatus> result = dbusMessageReplyAsyncHandler.release()->getFuture(); + + resumeDispatching(); + + return result; } |