diff options
author | Olga Kornievskaia <kolga@netapp.com> | 2016-04-28 16:21:41 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2016-04-29 10:37:53 -0400 |
commit | 8c34e538ef7492fda87b640343996dd33a2fde1d (patch) | |
tree | 32f61476c24357e9c1d717ee181013999924ae73 /utils/gssd/gssd.h | |
parent | bf97c20a6c3b8d037663e23a39bcf2f003ec12ee (diff) | |
download | nfs-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.h | 5 |
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; |