From: Derrick Brashear Date: Tue, 21 Jul 2009 21:09:39 +0000 (-0400) Subject: OSX lock initialization cleanup X-Git-Tag: openafs-devel-1_5_61~77 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=322a7a854b348e68b0bc49f5ad37049af188518f;p=packages%2Fo%2Fopenafs.git 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 --- 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; } diff --git a/src/rx/DARWIN/rx_kmutex.c b/src/rx/DARWIN/rx_kmutex.c index db3d857b2..c50253625 100644 --- a/src/rx/DARWIN/rx_kmutex.c +++ b/src/rx/DARWIN/rx_kmutex.c @@ -33,7 +33,6 @@ #endif /* defined(AFS_DARWIN70_ENV) */ lck_grp_t * openafs_lck_grp; -lck_grp_t * openafs_rw_grp; static lck_grp_attr_t * openafs_lck_grp_attr; void rx_kmutex_setup(void) { openafs_lck_grp_attr= lck_grp_attr_alloc_init(); @@ -42,13 +41,10 @@ void rx_kmutex_setup(void) { openafs_lck_grp = lck_grp_alloc_init("openafs", openafs_lck_grp_attr); lck_grp_attr_free(openafs_lck_grp_attr); - openafs_rw_grp = lck_grp_alloc_init("openafs-rw", openafs_lck_grp_attr); - lck_grp_attr_free(openafs_lck_grp_attr); } void rx_kmutex_finish(void) { lck_grp_free(openafs_lck_grp); - lck_grp_free(openafs_rw_grp); } #endif