summaryrefslogtreecommitdiffstats
path: root/src/server/server.c
diff options
context:
space:
mode:
authorJohann Latocha2012-02-11 01:34:07 +0100
committerJohann Latocha2012-02-11 01:34:07 +0100
commit73e227959e02c3484085ce05c466a3ea0f3e5065 (patch)
treeb588d5dfb6d2645c721a6dbfe414a21119d4116e /src/server/server.c
parent[SERVER] Config reload fixed (diff)
downloaddnbd3-73e227959e02c3484085ce05c466a3ea0f3e5065.tar.gz
dnbd3-73e227959e02c3484085ce05c466a3ea0f3e5065.tar.xz
dnbd3-73e227959e02c3484085ce05c466a3ea0f3e5065.zip
[SERVER] Spinlocks to freeze threads while reloading config
Diffstat (limited to 'src/server/server.c')
-rw-r--r--src/server/server.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/server/server.c b/src/server/server.c
index 786cc40..6fdedf0 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -37,7 +37,6 @@
int _sock;
GSList *_dnbd3_clients = NULL;
-pthread_spinlock_t _spinlock;
char *_config_file_name = DEFAULT_SERVER_CONFIG_FILE;
dnbd3_image_t *_images;
size_t _num_images = 0;
@@ -137,7 +136,6 @@ int main(int argc, char* argv[])
daemon(1, 0);
// load config file
- pthread_spin_init(&_spinlock, PTHREAD_PROCESS_PRIVATE);
dnbd3_load_config(_config_file_name);
// setup signal handler
@@ -178,6 +176,7 @@ int main(int argc, char* argv[])
pthread_t thread;
dnbd3_client_t *dnbd3_client = (dnbd3_client_t *) malloc(sizeof(dnbd3_client_t));
+ pthread_spin_init(&dnbd3_client->spinlock, PTHREAD_PROCESS_PRIVATE);
strcpy(dnbd3_client->ip, inet_ntoa(client.sin_addr));
dnbd3_client->sock = fd;
dnbd3_client->thread = &thread;