summaryrefslogtreecommitdiffstats
path: root/utils/gssd/gssd.h
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2016-04-28 16:21:41 -0400
committerSteve Dickson <steved@redhat.com>2016-04-29 10:37:53 -0400
commit8c34e538ef7492fda87b640343996dd33a2fde1d (patch)
tree32f61476c24357e9c1d717ee181013999924ae73 /utils/gssd/gssd.h
parentbf97c20a6c3b8d037663e23a39bcf2f003ec12ee (diff)
downloadnfs-utils-8c34e538ef7492fda87b640343996dd33a2fde1d.tar.gz
nfs-utils-8c34e538ef7492fda87b640343996dd33a2fde1d.tar.xz
nfs-utils-8c34e538ef7492fda87b640343996dd33a2fde1d.zip
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 <jlayton@poochiereds.net> Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd/gssd.h')
-rw-r--r--utils/gssd/gssd.h5
1 files changed, 5 insertions, 0 deletions
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 <gssapi/gssapi.h>
#include <event.h>
#include <stdbool.h>
+#include <pthread.h>
#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;