summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/src
diff options
context:
space:
mode:
authorGENIVI Audio Manager Maintainer <genivi-maint-audiomanager@smtp1.genivi.org>2018-02-07 08:01:33 +0100
committerGitHub <noreply@github.com>2018-02-07 08:01:33 +0100
commitbcaeed20bbbb4375ae925d507821d2bef64e737b (patch)
tree4ee83de4b3b00c9c513c83d5c4e7c6bb8107d954 /AudioManagerUtilities/src
parentaa59667c69254b0e2cb43cfcdba8d83db4f26e73 (diff)
parenta551ce940f073a7a2afa7df104b9eabc99e9f4a2 (diff)
downloadaudiomanager-bcaeed20bbbb4375ae925d507821d2bef64e737b.tar.gz
Merge pull request #23 from JensLorenz/cmake_and_dlt_endless_loop_fix
Cmake and dlt endless loop fix
Diffstat (limited to 'AudioManagerUtilities/src')
-rw-r--r--AudioManagerUtilities/src/CAmDbusWrapper.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/AudioManagerUtilities/src/CAmDbusWrapper.cpp b/AudioManagerUtilities/src/CAmDbusWrapper.cpp
index 1f1d5a6..e25439c 100644
--- a/AudioManagerUtilities/src/CAmDbusWrapper.cpp
+++ b/AudioManagerUtilities/src/CAmDbusWrapper.cpp
@@ -176,7 +176,6 @@ void CAmDbusWrapper::registerCallback(const DBusObjectPathVTable* vtable, const
std::string completePath = prefix + "/" + path;
dbus_error_init(&mDBusError);
- mpDbusConnection = dbus_bus_get(mDbusType, &mDBusError);
dbus_connection_register_object_path(mpDbusConnection, completePath.c_str(), vtable, userdata);
if (dbus_error_is_set(&mDBusError))
{
@@ -196,7 +195,6 @@ void CAmDbusWrapper::registerSignalWatch(DBusHandleMessageFunction handler, cons
{
logInfo("DBusWrapper::registerSignalWatch register callback:", rule);
dbus_error_init(&mDBusError);
- mpDbusConnection = dbus_bus_get(mDbusType, &mDBusError);
dbus_bus_add_match(mpDbusConnection, rule.c_str(), &mDBusError);
dbus_connection_flush(mpDbusConnection);
dbus_connection_add_filter(mpDbusConnection, handler, userdata, 0);
@@ -389,8 +387,6 @@ dbus_bool_t CAmDbusWrapper::addTimeoutDelegate(DBusTimeout *timeout, void* userD
//save the handle with dbus context
dbus_timeout_set_data(timeout, handle, NULL);
- //save timeout in Socket context
- userData = timeout;
return (true);
}
@@ -516,11 +512,19 @@ void CAmDbusWrapper::toggleTimeoutDelegate(DBusTimeout *timeout, void* userData)
void CAmDbusWrapper::dbusTimerCallback(sh_timerHandle_t handle, void *userData)
{
assert(userData!=NULL);
- if (dbus_timeout_get_enabled((DBusTimeout*) userData))
+ for (auto && timerHandle : mpListTimerhandles)
{
- mpSocketHandler->restartTimer(handle);
+ if (*timerHandle == handle)
+ {
+ if (dbus_timeout_get_enabled((DBusTimeout*) userData))
+ {
+ mpSocketHandler->restartTimer(handle);
+ }
+ dbus_timeout_handle((DBusTimeout*) userData);
+ return;
+ }
}
- dbus_timeout_handle((DBusTimeout*) userData);
+ logWarning("CAmDbusWrapper::dbusTimerCallback Unknown timer handle");
}
}