diff options
author | Simon McVittie <smcv@collabora.com> | 2013-09-03 12:33:37 +0100 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2019-12-12 09:36:24 +0100 |
commit | 4e3d6bffe26039d694e44a12d31d9db35e5183c0 (patch) | |
tree | 01f27d07c0f51df9954d606599256f036d800068 | |
parent | 5c0575850fe17177bc1b82ff2fe1a1e4dc4e9261 (diff) | |
download | dbus-4e3d6bffe26039d694e44a12d31d9db35e5183c0.tar.gz |
various: comment static variables that are locked or otherwise OK
-rw-r--r-- | dbus/dbus-bus.c | 5 | ||||
-rw-r--r-- | dbus/dbus-dataslot.c | 1 | ||||
-rw-r--r-- | dbus/dbus-internals.c | 7 | ||||
-rw-r--r-- | dbus/dbus-memory.c | 1 | ||||
-rw-r--r-- | dbus/dbus-pending-call.c | 1 | ||||
-rw-r--r-- | dbus/dbus-spawn-unix.c | 2 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-thread-win.c | 3 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-win.c | 4 | ||||
-rw-r--r-- | dbus/dbus-threads.c | 2 | ||||
-rw-r--r-- | dbus/dbus-userdb.c | 1 |
10 files changed, 24 insertions, 3 deletions
diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c index 1de9ca47..35fc135e 100644 --- a/dbus/dbus-bus.c +++ b/dbus/dbus-bus.c @@ -83,17 +83,18 @@ typedef struct } BusData; /** The slot we have reserved to store BusData. + * Protected by _DBUS_LOCK_connection_slots. */ static dbus_int32_t bus_data_slot = -1; /** Number of bus types */ #define N_BUS_TYPES 3 +/* Protected by _DBUS_LOCK_bus, except during shutdown, which can't safely + * be done in a threaded application anyway. */ static DBusConnection *bus_connections[N_BUS_TYPES]; static char *bus_connection_addresses[N_BUS_TYPES] = { NULL, NULL, NULL }; - static DBusBusType activation_bus_type = DBUS_BUS_STARTER; - static dbus_bool_t initialized = FALSE; static void diff --git a/dbus/dbus-dataslot.c b/dbus/dbus-dataslot.c index 18e20f60..a4503a29 100644 --- a/dbus/dbus-dataslot.c +++ b/dbus/dbus-dataslot.c @@ -353,6 +353,7 @@ _dbus_data_slot_list_free (DBusDataSlotList *list) #include "dbus-test.h" #include <stdio.h> +/* Test-only, does not need to be thread-safe */ static int free_counter; static void diff --git a/dbus/dbus-internals.c b/dbus/dbus-internals.c index 7420f203..7eb85501 100644 --- a/dbus/dbus-internals.c +++ b/dbus/dbus-internals.c @@ -184,7 +184,14 @@ */ const char *_dbus_no_memory_message = "Not enough memory"; +/* Not necessarily thread-safe, but if writes don't propagate between + * threads, the worst that will happen is that we duplicate work in more than + * one thread. */ static dbus_bool_t warn_initted = FALSE; + +/* Not necessarily thread-safe, but if writes don't propagate between + * threads, the worst that will happen is that warnings get their default + * fatal/non-fatal nature. */ static dbus_bool_t fatal_warnings = FALSE; static dbus_bool_t fatal_warnings_on_check_failed = TRUE; diff --git a/dbus/dbus-memory.c b/dbus/dbus-memory.c index 98869d57..5468561a 100644 --- a/dbus/dbus-memory.c +++ b/dbus/dbus-memory.c @@ -99,6 +99,7 @@ */ #ifdef DBUS_ENABLE_EMBEDDED_TESTS +/* Test-only, does not need to be thread-safe */ static dbus_bool_t debug_initialized = FALSE; static int fail_nth = -1; static size_t fail_size = 0; diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c index d057b49b..84fdcb58 100644 --- a/dbus/dbus-pending-call.c +++ b/dbus/dbus-pending-call.c @@ -101,6 +101,7 @@ _dbus_pending_call_trace_ref (DBusPendingCall *pending_call, #endif } +/* protected by _DBUS_LOCK_pending_call_slots */ static dbus_int32_t notify_user_data_slot = -1; /** diff --git a/dbus/dbus-spawn-unix.c b/dbus/dbus-spawn-unix.c index 742c3a7a..5550ffac 100644 --- a/dbus/dbus-spawn-unix.c +++ b/dbus/dbus-spawn-unix.c @@ -1153,6 +1153,8 @@ check_babysit_events (pid_t grandchild_pid, } } +/* Only used in a single-threaded child process, does not need to be + * thread-safe */ static int babysit_sigchld_pipe = -1; static void diff --git a/dbus/dbus-sysdeps-thread-win.c b/dbus/dbus-sysdeps-thread-win.c index db389825..3b600fa9 100644 --- a/dbus/dbus-sysdeps-thread-win.c +++ b/dbus/dbus-sysdeps-thread-win.c @@ -32,6 +32,7 @@ #include <windows.h> +/* Protected by DllMain lock, effectively */ static dbus_bool_t global_init_done = FALSE; static CRITICAL_SECTION init_lock; @@ -54,7 +55,7 @@ struct DBusCondVar { static DWORD dbus_cond_event_tls = TLS_OUT_OF_INDEXES; - +/* Protected by DllMain lock, effectively */ static HMODULE dbus_dll_hmodule; void * diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index ee8b9678..46cbfe35 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -103,6 +103,10 @@ typedef MIB_TCPROW_OWNER_PID _MIB_TCPROW_EX; typedef MIB_TCPTABLE_OWNER_PID MIB_TCPTABLE_EX; typedef PMIB_TCPTABLE_OWNER_PID PMIB_TCPTABLE_EX; typedef DWORD (WINAPI *ProcAllocateAndGetTcpExtTableFromStack)(PMIB_TCPTABLE_EX*,BOOL,HANDLE,DWORD,DWORD); + +/* Not protected by a lock, but if we miss a write, all that + * happens is that the lazy initialization will happen in two threads + * concurrently - it results in the same value either way so that's OK */ static ProcAllocateAndGetTcpExtTableFromStack lpfnAllocateAndGetTcpExTableFromStack = NULL; /** diff --git a/dbus/dbus-threads.c b/dbus/dbus-threads.c index 3ebe9e70..8d7c03cd 100644 --- a/dbus/dbus-threads.c +++ b/dbus/dbus-threads.c @@ -26,6 +26,7 @@ #include "dbus-threads-internal.h" #include "dbus-list.h" +/* Protected by _dbus_threads_lock_platform_specific() */ static int thread_init_generation = 0; /** @@ -283,6 +284,7 @@ _dbus_condvar_wake_one (DBusCondVar *cond) _dbus_platform_condvar_wake_one (cond); } +/* Protected by _dbus_threads_lock_platform_specific() */ static DBusRMutex *global_locks[_DBUS_N_GLOBAL_LOCKS] = { NULL }; static void diff --git a/dbus/dbus-userdb.c b/dbus/dbus-userdb.c index 66682748..d3225371 100644 --- a/dbus/dbus-userdb.c +++ b/dbus/dbus-userdb.c @@ -222,6 +222,7 @@ _dbus_user_database_lookup (DBusUserDatabase *db, } } +/* Protected by _DBUS_LOCK_system_users */ static dbus_bool_t database_locked = FALSE; static DBusUserDatabase *system_db = NULL; static DBusString process_username; |