From c3eddae338f03eb1219cef12152890254e9ac573 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 28 Jul 2014 22:48:42 +0200 Subject: split out globals from mds-registry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- Makefile | 2 +- src/mds-registry/globals.c | 66 ++++++++++++++++++++++++++++++++++ src/mds-registry/globals.h | 78 +++++++++++++++++++++++++++++++++++++++++ src/mds-registry/mds-registry.c | 48 +------------------------ src/mds-registry/util.c | 2 ++ 5 files changed, 148 insertions(+), 48 deletions(-) create mode 100644 src/mds-registry/globals.c create mode 100644 src/mds-registry/globals.h diff --git a/Makefile b/Makefile index f92ead9..0fd08b9 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ OBJ_mds-server_ = mds-server interception-condition client multicast \ queued-interception globals signals interceptors \ sending slavery reexec receiving -OBJ_mds-registry_ = mds-registry util +OBJ_mds-registry_ = mds-registry util globals OBJ_mds-server = $(foreach O,$(OBJ_mds-server_),obj/mds-server/$(O).o) OBJ_mds-registry = $(foreach O,$(OBJ_mds-registry_),obj/mds-registry/$(O).o) diff --git a/src/mds-registry/globals.c b/src/mds-registry/globals.c new file mode 100644 index 0000000..981cad1 --- /dev/null +++ b/src/mds-registry/globals.c @@ -0,0 +1,66 @@ +/** + * mds — A micro-display server + * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "globals.h" + + + +/** + * Value of the ‘Message ID’ header for the next message + */ +int32_t message_id = 2; + +/** + * Buffer for received messages + */ +mds_message_t received; + +/** + * Whether the server is connected to the display + */ +int connected = 1; + +/** + * Protocol registry table + */ +hash_table_t reg_table; + +/** + * Reusable buffer for data to send + */ +char* send_buffer = NULL; + +/** + * The size of `send_buffer` + */ +size_t send_buffer_size = 0; + +/** + * General mutex + */ +pthread_mutex_t reg_mutex; + +/** + * General condition + */ +pthread_cond_t reg_cond; + +/** + * Used to temporarily store the old value when reallocating heap-allocations + */ +char* old; + diff --git a/src/mds-registry/globals.h b/src/mds-registry/globals.h new file mode 100644 index 0000000..8c0799a --- /dev/null +++ b/src/mds-registry/globals.h @@ -0,0 +1,78 @@ +/** + * mds — A micro-display server + * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#ifndef MDS_MDS_REGISTRY_GLOBALS_H +#define MDS_MDS_REGISTRY_GLOBALS_H + + +#include +#include + +#include +#include +#include + + + +/** + * Value of the ‘Message ID’ header for the next message + */ +extern int32_t message_id; + +/** + * Buffer for received messages + */ +extern mds_message_t received; + +/** + * Whether the server is connected to the display + */ +extern int connected; + +/** + * Protocol registry table + */ +extern hash_table_t reg_table; + +/** + * Reusable buffer for data to send + */ +extern char* send_buffer; + +/** + * The size of `send_buffer` + */ +extern size_t send_buffer_size; + +/** + * General mutex + */ +extern pthread_mutex_t reg_mutex; + +/** + * General condition + */ +extern pthread_cond_t reg_cond; + +/** + * Used to temporarily store the old value when reallocating heap-allocations + */ +extern char* old; + + +#endif + diff --git a/src/mds-registry/mds-registry.c b/src/mds-registry/mds-registry.c index 28dd368..b41733a 100644 --- a/src/mds-registry/mds-registry.c +++ b/src/mds-registry/mds-registry.c @@ -18,6 +18,7 @@ #include "mds-registry.h" #include "util.h" +#include "globals.h" #include #include @@ -55,53 +56,6 @@ server_characteristics_t server_characteristics = -/** - * Value of the ‘Message ID’ header for the next message - */ -static int32_t message_id = 2; - -/** - * Buffer for received messages - */ -static mds_message_t received; - -/** - * Whether the server is connected to the display - */ -static int connected = 1; - -/** - * Protocol registry table - */ -static hash_table_t reg_table; - -/** - * Reusable buffer for data to send - */ -static char* send_buffer = NULL; - -/** - * The size of `send_buffer` - */ -static size_t send_buffer_size = 0; - -/** - * General mutex - */ -static pthread_mutex_t reg_mutex; - -/** - * General condition - */ -static pthread_cond_t reg_cond; - -/** - * Used to temporarily store the old value when reallocating heap-allocations - */ -static char* old; - - - /** * This function will be invoked before `initialise_server` (if not re-exec:ing) * or before `unmarshal_server` (if re-exec:ing) diff --git a/src/mds-registry/util.c b/src/mds-registry/util.c index c497121..31df0e1 100644 --- a/src/mds-registry/util.c +++ b/src/mds-registry/util.c @@ -17,6 +17,8 @@ */ #include "util.h" +#include "globals.h" + #include "../mds-base.h" #include -- cgit v1.2.3-70-g09d2