From 8459dc317bc6393d23f1afee0b211bcbdb9a5601 Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Thu, 4 Feb 2010 12:23:58 +0000 Subject: [PATCH] Unix CM: Simplify #ifdef ladder in lock.h Hugely simplify the ifdef ladder in lock.h, by using #elif, rather than multiple levels of nested ifdefs Change-Id: I8fc730242decab0a0f864a9814c6c47c9974b496 Reviewed-on: http://gerrit.openafs.org/1241 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/lock.h | 84 ++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 48 deletions(-) diff --git a/src/afs/lock.h b/src/afs/lock.h index 284d51046..853aba041 100644 --- a/src/afs/lock.h +++ b/src/afs/lock.h @@ -78,65 +78,53 @@ typedef kthread_t * afs_lock_tracker_t; typedef unsigned int afs_lock_tracker_t; # define MyPidxx (curproc->p_pid) # define MyPidxx2Pid(x) (x) -#else -# if defined(AFS_AIX41_ENV) +#elif defined(AFS_AIX41_ENV) typedef tid_t afs_lock_tracker_t; extern tid_t thread_self(); -# define MyPidxx (thread_self()) -# define MyPidxx2Pid(x) ((afs_int32)(x)) -# else /* AFS_AIX41_ENV */ -# if defined(AFS_HPUX101_ENV) -# if defined(AFS_HPUX1111_ENV) +# define MyPidxx (thread_self()) +# define MyPidxx2Pid(x) ((afs_int32)(x)) +#elif defined(AFS_HPUX101_ENV) +# if defined(AFS_HPUX1111_ENV) typedef struct kthread * afs_lock_tracker_t; -# define MyPidxx (u.u_kthreadp) -# define MyPidxx2Pid(x) (x ? kt_tid(x) : 0) -# else +# define MyPidxx (u.u_kthreadp) +# define MyPidxx2Pid(x) (x ? kt_tid(x) : 0) +# else typedef afs_proc_t * afs_lock_tracker_t; -# define MyPidxx (u.u_procp) -# define MyPidxx2Pid(x) (x ? (afs_int32)p_pid(x) : 0) -# endif -# else -# if defined(AFS_SGI64_ENV) -# if defined(AFS_SGI65_ENV) +# define MyPidxx (u.u_procp) +# define MyPidxx2Pid(x) (x ? (afs_int32)p_pid(x) : 0) +# endif +#elif defined(AFS_SGI64_ENV) +# if defined(AFS_SGI65_ENV) typedef unsigned int afs_lock_tracker_t; -# define MyPidxx proc_pid(curproc()) -# define MyPidxx2Pid(x) (x) -# else +# define MyPidxx proc_pid(curproc()) +# define MyPidxx2Pid(x) (x) +# else typedef unsigned int afs_lock_tracker_t; -# define MyPidxx current_pid() -# define MyPidxx2Pid(x) (x) -# endif -# else /* AFS_SGI64_ENV */ -# ifdef AFS_LINUX20_ENV +# define MyPidxx current_pid() +# define MyPidxx2Pid(x) (x) +# endif +#elif defined(AFS_LINUX20_ENV) typedef struct task_struct * afs_lock_tracker_t; -# define MyPidxx (current) -# define MyPidxx2Pid(x) (x? (x)->pid : 0) -# else -# if defined(AFS_DARWIN_ENV) -# if defined(AFS_DARWIN80_ENV) +# define MyPidxx (current) +# define MyPidxx2Pid(x) (x? (x)->pid : 0) +#elif defined(AFS_DARWIN_ENV) +# if defined(AFS_DARWIN80_ENV) typedef unsigned int afs_lock_tracker_t; -# define MyPidxx (proc_selfpid()) -# define MyPidxx2Pid(x) (x) -# else +# define MyPidxx (proc_selfpid()) +# define MyPidxx2Pid(x) (x) +# else typedef unsigned int afs_lock_tracker_t; -# define MyPidxx (current_proc()->p_pid ) -# define MyPidxx2Pid(x) (x) -# endif -# else -# if defined(AFS_FBSD_ENV) +# define MyPidxx (current_proc()->p_pid ) +# define MyPidxx2Pid(x) (x) +# endif +#elif defined(AFS_FBSD_ENV) typedef unsigned int afs_lock_tracker_t; -# define MyPidxx (curproc->p_pid ) -# define MyPidxx2Pid(x) (x) -# else +# define MyPidxx (curproc->p_pid ) +# define MyPidxx2Pid(x) (x) +#else typedef unsigned int afs_lock_tracker_t; -# define MyPidxx (u.u_procp->p_pid ) -# define MyPidxx2Pid(x) (x) -# endif /* AFS_FBSD_ENV */ -# endif /* AFS_DARWIN_ENV */ -# endif /* AFS_LINUX20_ENV */ -# endif /* AFS_SGI64_ENV */ -# endif /* AFS_HPUX101_ENV */ -# endif /* AFS_AIX41_ENV */ +# define MyPidxx (u.u_procp->p_pid ) +# define MyPidxx2Pid(x) (x) #endif /* all locks wait on excl_locked except for READ_LOCK, which waits on readers_reading */ -- 2.39.5