From 3256913db77a2e432ebda98a3b1f76dba4b12969 Mon Sep 17 00:00:00 2001 From: sangorrin Date: Tue, 15 Apr 2008 08:50:57 +0000 Subject: [PATCH] locks for server functions git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1110 35b4ef3e-fd22-0410-ab77-dab3279adceb --- src_frescan/frescan_servers.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src_frescan/frescan_servers.c b/src_frescan/frescan_servers.c index eb31bbe..3d81984 100644 --- a/src_frescan/frescan_servers.c +++ b/src_frescan/frescan_servers.c @@ -66,7 +66,10 @@ int frescan_servers_create(frescan_network_t net, int ret, pos; struct sigevent evp; + FRESCAN_ACQUIRE_LOCK(&the_networks[net].lock); pos = freelist_alloc(&the_servers_pool_freelist[net]); + FRESCAN_RELEASE_LOCK(&the_networks[net].lock); + if (pos == -1) { ERROR("could not allocate servers\n"); return -1; @@ -143,9 +146,11 @@ int frescan_servers_destroy(frescan_network_t net, frescan_ss_t id) return ret; } + FRESCAN_ACQUIRE_LOCK(&the_networks[net].lock); list_del(&the_servers_pool[net][id].servers_list); ret = freelist_free(&the_servers_pool_freelist[net], id); + FRESCAN_RELEASE_LOCK(&the_networks[net].lock); if (ret != 0) { ERROR("could not free server data from pool\n"); return ret; -- 2.39.2