aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mds-server/globals.c43
-rw-r--r--src/mds-server/globals.h4
-rw-r--r--src/mds-server/receiving.c8
3 files changed, 49 insertions, 6 deletions
diff --git a/src/mds-server/globals.c b/src/mds-server/globals.c
index 9ee67aa..2030fa7 100644
--- a/src/mds-server/globals.c
+++ b/src/mds-server/globals.c
@@ -18,16 +18,59 @@
#include "globals.h"
+/**
+ * The program run state, 1 when running, 0 when shutting down
+ */
volatile sig_atomic_t running = 1;
+
+/**
+ * The number of running slaves
+ */
size_t running_slaves = 0;
+
+/**
+ * Mutex for slave data
+ */
pthread_mutex_t slave_mutex;
+
+/**
+ * Condition for slave data
+ */
pthread_cond_t slave_cond;
+
+/**
+ * Map from client socket file descriptor to all information (`client_t`)
+ */
fd_table_t client_map;
+
+/**
+ * List of client information (`client_t`)
+ */
linked_list_t client_list;
+
+/**
+ * The next free ID for a client
+ */
uint64_t next_client_id = 1;
+
+/**
+ * The next free ID for a message modifications
+ */
uint64_t next_modify_id = 1;
+
+/**
+ * Mutex for message modification
+ */
pthread_mutex_t modify_mutex;
+
+/**
+ * Condition for message modification
+ */
pthread_cond_t modify_cond;
+
+/**
+ * Map from modification ID to waiting client
+ */
hash_table_t modify_map;
diff --git a/src/mds-server/globals.h b/src/mds-server/globals.h
index 63b1e34..cfebdee 100644
--- a/src/mds-server/globals.h
+++ b/src/mds-server/globals.h
@@ -57,12 +57,12 @@ extern pthread_mutex_t slave_mutex;
extern pthread_cond_t slave_cond;
/**
- * Map from client socket file descriptor to all information (client_t)
+ * Map from client socket file descriptor to all information (`client_t`)
*/
extern fd_table_t client_map;
/**
- * List of client information (client_t)
+ * List of client information (`client_t`)
*/
extern linked_list_t client_list;
diff --git a/src/mds-server/receiving.c b/src/mds-server/receiving.c
index b18c222..28823f7 100644
--- a/src/mds-server/receiving.c
+++ b/src/mds-server/receiving.c
@@ -120,7 +120,7 @@ static int add_intercept_conditions_from_message(client_t* client, int modifying
fail_if (xmalloc(buf, size + 1, char));
- /* All messages */
+ /* All messages. */
if (client->message.payload_size == 0)
{
*buf = '\0';
@@ -128,7 +128,7 @@ static int add_intercept_conditions_from_message(client_t* client, int modifying
goto done;
}
- /* Filtered messages */
+ /* Filtered messages. */
for (;;)
{
char* end = memchr(payload, '\n', payload_size);
@@ -182,8 +182,8 @@ static int assign_and_send_id(client_t* client, const char* message_id)
int rc = -1;
/* Construct response. */
- n = 2 * 10 + strlen(message_id) + 1;
- n += strlen("ID assignment: :\nIn response to: \n\n");
+ n = 2 * 10 + strlen(message_id);
+ n += sizeof("ID assignment: :\nIn response to: \n\n") / sizeof(char);
fail_if (xmalloc(msgbuf, n, char));
snprintf(msgbuf, n,
"ID assignment: %" PRIu32 ":%" PRIu32 "\n"