From f1ea1d5a7cde28b24d76effd260b7893c458efca Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Tue, 21 Jul 2009 17:09:39 -0400 Subject: [PATCH] OSX lock initialization cleanup Move GLOCK creation before other things at modload time. Also remove unused rwlock support from rx kmutex package. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/170 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 322a7a854b348e68b0bc49f5ad37049af188518f) Reviewed-on: http://gerrit.openafs.org/356 --- src/afs/DARWIN/osi_module.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/afs/DARWIN/osi_module.c b/src/afs/DARWIN/osi_module.c index b4db37ca3..77bc0e0ad 100644 --- a/src/afs/DARWIN/osi_module.c +++ b/src/afs/DARWIN/osi_module.c @@ -46,6 +46,8 @@ afs_modload(struct kmod_info *ki, void *data) { osi_Init(); #ifdef AFS_DARWIN80_ENV + MUTEX_SETUP(); + afs_global_lock = lck_mtx_alloc_init(openafs_lck_grp, 0); memset(&afs_vfsentry, 0, sizeof(struct vfs_fsentry)); strcpy(afs_vfsentry.vfe_fsname, "afs"); afs_vfsentry.vfe_vfsops = &afs_vfsops; @@ -55,6 +57,8 @@ afs_modload(struct kmod_info *ki, void *data) afs_vfsentry.vfe_flags = VFS_TBLTHREADSAFE|VFS_TBLNOTYPENUM; if (vfs_fsadd(&afs_vfsentry, &afs_vfstable)) { printf("AFS: vfs_fsadd failed. aborting\n"); + MUTEX_FINISH(); + lck_mtx_free(afs_global_lock, openafs_lck_grp); return KERN_FAILURE; } afs_cdev.d_open = &afs_cdev_nop_openclose; @@ -64,6 +68,8 @@ afs_modload(struct kmod_info *ki, void *data) if (afs_cdev_major == -1) { printf("AFS: cdevsw_add failed. aborting\n"); vfs_fsremove(afs_vfstable); + MUTEX_FINISH(); + lck_mtx_free(afs_global_lock, openafs_lck_grp); return KERN_FAILURE; } afs_cdev_devfs_handle = devfs_make_node(makedev(afs_cdev_major, 0), @@ -93,10 +99,6 @@ afs_modload(struct kmod_info *ki, void *data) #ifdef KERNEL_FUNNEL sysent[AFS_SYSCALL].sy_funnel = KERNEL_FUNNEL; #endif -#endif -#ifdef AFS_DARWIN80_ENV - MUTEX_SETUP(); - afs_global_lock = lck_mtx_alloc_init(openafs_lck_grp, 0); #endif return KERN_SUCCESS; } -- 2.39.5