From patchwork Sun Jan 28 10:58:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 25634 Received: (qmail 48645 invoked by alias); 28 Jan 2018 10:58:40 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 48510 invoked by uid 89); 28 Jan 2018 10:58:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS, SPF_NEUTRAL, UPPERCASE_50_75 autolearn=ham version=3.3.2 spammy=1487, services X-HELO: hera.aquilenet.fr Date: Sun, 28 Jan 2018 11:58:33 +0100 From: Samuel Thibault To: libc-alpha@sourceware.org Subject: [PATCH] nscd: don't unconditionally use PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP Message-ID: <20180128105833.4yutpdxhtusbkixd@var.youpi.perso.aquilenet.fr> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP is Linux-only. * nscd/connections.c (RWLOCK_INITIALIZER): Define to PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP or PTHREAD_RWLOCK_INITIALIZER if that is not available. (dbs): Use RWLOCK_INITIALIZER instead of PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP. diff --git a/nscd/connections.c b/nscd/connections.c index a2dee8ab0c..5f91985859 100644 --- a/nscd/connections.c +++ b/nscd/connections.c @@ -106,11 +106,17 @@ const char *const serv2str[LASTREQ] = [GETFDNETGR] = "GETFDNETGR" }; +#ifdef PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP +# define RWLOCK_INITIALIZER PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP +#else +# define RWLOCK_INITIALIZER PTHREAD_RWLOCK_INITIALIZER +#endif + /* The control data structures for the services. */ struct database_dyn dbs[lastdb] = { [pwddb] = { - .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, + .lock = RWLOCK_INITIALIZER, .prune_lock = PTHREAD_MUTEX_INITIALIZER, .prune_run_lock = PTHREAD_MUTEX_INITIALIZER, .enabled = 0, @@ -129,7 +135,7 @@ struct database_dyn dbs[lastdb] = .mmap_used = false }, [grpdb] = { - .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, + .lock = RWLOCK_INITIALIZER, .prune_lock = PTHREAD_MUTEX_INITIALIZER, .prune_run_lock = PTHREAD_MUTEX_INITIALIZER, .enabled = 0, @@ -148,7 +154,7 @@ struct database_dyn dbs[lastdb] = .mmap_used = false }, [hstdb] = { - .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, + .lock = RWLOCK_INITIALIZER, .prune_lock = PTHREAD_MUTEX_INITIALIZER, .prune_run_lock = PTHREAD_MUTEX_INITIALIZER, .enabled = 0, @@ -167,7 +173,7 @@ struct database_dyn dbs[lastdb] = .mmap_used = false }, [servdb] = { - .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, + .lock = RWLOCK_INITIALIZER, .prune_lock = PTHREAD_MUTEX_INITIALIZER, .prune_run_lock = PTHREAD_MUTEX_INITIALIZER, .enabled = 0, @@ -186,7 +192,7 @@ struct database_dyn dbs[lastdb] = .mmap_used = false }, [netgrdb] = { - .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, + .lock = RWLOCK_INITIALIZER, .prune_lock = PTHREAD_MUTEX_INITIALIZER, .prune_run_lock = PTHREAD_MUTEX_INITIALIZER, .enabled = 0,