From 73e227959e02c3484085ce05c466a3ea0f3e5065 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Sat, 11 Feb 2012 01:34:07 +0100 Subject: [SERVER] Spinlocks to freeze threads while reloading config --- src/server/server.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/server/server.c') 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; -- cgit v1.2.3-55-g7522