summaryrefslogtreecommitdiff
path: root/dbus
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2010-12-07 01:34:38 +0100
committerRalf Habacker <ralf.habacker@freenet.de>2010-12-10 08:43:02 +0100
commit9b79817148af490361f81b2c1a10a6e4bbc99165 (patch)
tree0c76f6ad144e9cbea9429e22fa456a7cdef94216 /dbus
parentd808e529bd714a01be65f32da6471c69ffeae475 (diff)
downloaddbus-9b79817148af490361f81b2c1a10a6e4bbc99165.tar.gz
Fixed bug not freeing mutex handle on Windows.
Reviewed-by: Romain Pokrzywka
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-sysdeps-win.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c
index 69e75364..cf85e096 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: