Adding support for multi-threaded gssd and allow for parallel upcalls. For each upcall create a thread, detach to allow for automatic cleanup. Communicate location of credential cache with gss api function instead of an environmental variable. Use syscall api instead of libc setuid() to change user identity. Previously parent thread after detaching from child thread would call yield to let the child thread run and consume the event from the fd. Instead, use synchronization variables to signal parent after reading from fd and have parent thread wait for the event. Olga Kornievskaia (3): gssd: use pthreads to handle upcalls gssd: using syscalls directly to change thread's identity gssd: always call gss_krb5_ccache_name aclocal/libpthread.m4 | 13 ++++++++++ configure.ac | 3 +++ utils/gssd/Makefile.am | 3 ++- utils/gssd/gssd.c | 44 ++++++++++++++++++++++++++++++--- utils/gssd/gssd.h | 5 ++++ utils/gssd/gssd_proc.c | 66 +++++++++++++++++++++++--------------------------- utils/gssd/krb5_util.c | 59 ++++++++++---------------------------------- utils/gssd/krb5_util.h | 1 - 8 files changed, 106 insertions(+), 88 deletions(-) create mode 100644 aclocal/libpthread.m4 -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html