From 8c34e538ef7492fda87b640343996dd33a2fde1d Mon Sep 17 00:00:00 2001 From: Olga Kornievskaia Date: Thu, 28 Apr 2016 16:21:41 -0400 Subject: gssd: use pthreads to handle upcalls Currently, to persevere global data over multiple mounts, the root process does not fork when handling an upcall. Instead on not-forking create a pthread to handle the upcall since global data can be shared among threads. Reviewed-by: Jeff Layton Signed-off-by: Olga Kornievskaia Signed-off-by: Steve Dickson --- utils/gssd/gssd.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'utils/gssd/gssd.h') diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h index c6937c5..565bce3 100644 --- a/utils/gssd/gssd.h +++ b/utils/gssd/gssd.h @@ -36,6 +36,7 @@ #include #include #include +#include #ifndef GSSD_PIPEFS_DIR #define GSSD_PIPEFS_DIR "/var/lib/nfs/rpc_pipefs" @@ -61,6 +62,10 @@ extern int root_uses_machine_creds; extern unsigned int context_timeout; extern unsigned int rpc_timeout; extern char *preferred_realm; +extern pthread_mutex_t ple_lock; +extern pthread_cond_t pcond; +extern pthread_mutex_t pmutex; +extern int thread_started; struct clnt_info { TAILQ_ENTRY(clnt_info) list; -- cgit