diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2010-12-07 01:34:38 +0100 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2010-12-10 08:43:02 +0100 |
commit | 9b79817148af490361f81b2c1a10a6e4bbc99165 (patch) | |
tree | 0c76f6ad144e9cbea9429e22fa456a7cdef94216 /dbus | |
parent | d808e529bd714a01be65f32da6471c69ffeae475 (diff) | |
download | dbus-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.c | 14 |
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: |