dbus_threads_init: call _dbus_threads_init_platform_specific()
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 15 Apr 2013 12:54:39 +0000 (13:54 +0100)
committerAnas Nashif <anas.nashif@intel.com>
Wed, 19 Jun 2013 10:07:33 +0000 (06:07 -0400)
This reverses the relationship between these two functions.
Previously, dbus_threads_init() wouldn't allocate dbus_cond_event_tls
on Windows, call check_monotonic_clock on Unix, or call
_dbus_check_setuid on Unix.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Applied-upstream: 1.7.4, commit:eabf6c42a1b779f57f2c08d35772035788657579
Bug-Tizen: TZPC-1971
Change-Id: Ice70cf1f3e2202b72016daf619c89206b96aac47

dbus/dbus-sysdeps-pthread.c
dbus/dbus-sysdeps-thread-win.c
dbus/dbus-threads.c

index c60457b..36a1e4b 100644 (file)
@@ -281,5 +281,6 @@ _dbus_threads_init_platform_specific (void)
    */
   check_monotonic_clock ();
   (void) _dbus_check_setuid ();
-  return dbus_threads_init (NULL);
+
+  return TRUE;
 }
index e30e7b8..4c4442a 100644 (file)
@@ -269,6 +269,6 @@ _dbus_threads_init_platform_specific (void)
        return FALSE;
     }
 
-  return dbus_threads_init (NULL);
+  return TRUE;
 }
 
index b464629..e7f2eb7 100644 (file)
@@ -584,7 +584,8 @@ dbus_threads_init (const DBusThreadFunctions *functions)
   if (thread_init_generation == _dbus_current_generation)
     return TRUE;
 
-  if (!init_locks ())
+  if (!_dbus_threads_init_platform_specific() ||
+      !init_locks ())
     return FALSE;
 
   thread_init_generation = _dbus_current_generation;
@@ -613,7 +614,7 @@ dbus_threads_init (const DBusThreadFunctions *functions)
 dbus_bool_t
 dbus_threads_init_default (void)
 {
-  return _dbus_threads_init_platform_specific ();
+  return dbus_threads_init (NULL);
 }
 
 
@@ -624,7 +625,7 @@ dbus_threads_init_default (void)
 dbus_bool_t
 _dbus_threads_init_debug (void)
 {
-  return _dbus_threads_init_platform_specific();
+  return dbus_threads_init (NULL);
 }
 
 #endif /* DBUS_BUILD_TESTS */