summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2013-09-03 12:33:37 +0100
committerRalf Habacker <ralf.habacker@freenet.de>2019-12-12 09:36:24 +0100
commit4e3d6bffe26039d694e44a12d31d9db35e5183c0 (patch)
tree01f27d07c0f51df9954d606599256f036d800068
parent5c0575850fe17177bc1b82ff2fe1a1e4dc4e9261 (diff)
downloaddbus-4e3d6bffe26039d694e44a12d31d9db35e5183c0.tar.gz
various: comment static variables that are locked or otherwise OK
-rw-r--r--dbus/dbus-bus.c5
-rw-r--r--dbus/dbus-dataslot.c1
-rw-r--r--dbus/dbus-internals.c7
-rw-r--r--dbus/dbus-memory.c1
-rw-r--r--dbus/dbus-pending-call.c1
-rw-r--r--dbus/dbus-spawn-unix.c2
-rw-r--r--dbus/dbus-sysdeps-thread-win.c3
-rw-r--r--dbus/dbus-sysdeps-win.c4
-rw-r--r--dbus/dbus-threads.c2
-rw-r--r--dbus/dbus-userdb.c1
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;