From 9b79817148af490361f81b2c1a10a6e4bbc99165 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Tue, 7 Dec 2010 01:34:38 +0100 Subject: [PATCH] Fixed bug not freeing mutex handle on Windows. Reviewed-by: Romain Pokrzywka --- dbus/dbus-sysdeps-win.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 69e75364a..cf85e0961 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -2764,15 +2764,15 @@ _dbus_daemon_already_runs (DBusString *address, DBusString *shm_name, const char DBusString mutex_name; dbus_bool_t bRet = TRUE; - // sync _dbus_daemon_publish_session_bus_address, _dbus_daemon_unpublish_session_bus_address and _dbus_daemon_already_runs - lock = _dbus_global_lock( cUniqueDBusInitMutex ); - if (!_dbus_get_mutex_name(&mutex_name,scope)) { _dbus_string_free( &mutex_name ); return FALSE; } + // sync _dbus_daemon_publish_session_bus_address, _dbus_daemon_unpublish_session_bus_address and _dbus_daemon_already_runs + lock = _dbus_global_lock( cUniqueDBusInitMutex ); + // do checks daemon = CreateMutexA( NULL, FALSE, _dbus_string_get_const_data(&mutex_name) ); if(WaitForSingleObject( daemon, 10 ) != WAIT_TIMEOUT) @@ -2811,16 +2811,16 @@ _dbus_get_autolaunch_address (const char *scope, DBusString *address, const char * daemon_name = DBUS_DAEMON_NAME ".exe"; DBusString shm_name; - mutex = _dbus_global_lock ( cDBusAutolaunchMutex ); - _DBUS_ASSERT_ERROR_IS_CLEAR (error); if (!_dbus_get_shm_name(&shm_name,scope)) { - dbus_set_error_const (error, DBUS_ERROR_FAILED, "could not determine shm address"); + dbus_set_error_const (error, DBUS_ERROR_FAILED, "could not determine shm name"); return FALSE; } + mutex = _dbus_global_lock ( cDBusAutolaunchMutex ); + if (_dbus_daemon_already_runs(address,&shm_name,scope)) { _dbus_verbose("found already running dbus daemon\n"); @@ -2855,7 +2855,7 @@ _dbus_get_autolaunch_address (const char *scope, DBusString *address, else { dbus_set_error_const (error, DBUS_ERROR_FAILED, "Failed to launch dbus-daemon"); - retval == FALSE; + retval = FALSE; } out: -- 2.47.3