| 1051 | } |
| 1052 | |
| 1053 | static void |
| 1054 | ksem_module_destroy(void) |
| 1055 | { |
| 1056 | |
| 1057 | #ifdef COMPAT_FREEBSD32 |
| 1058 | syscall32_helper_unregister(ksem32_syscalls); |
| 1059 | #endif |
| 1060 | syscall_helper_unregister(ksem_syscalls); |
| 1061 | |
| 1062 | p31b_setcfg(CTL_P1003_1B_SEMAPHORES, 0); |
| 1063 | hashdestroy(ksem_dictionary, M_KSEM, ksem_hash); |
| 1064 | sx_destroy(&ksem_dict_lock); |
| 1065 | mtx_destroy(&ksem_count_lock); |
| 1066 | mtx_destroy(&sem_lock); |
| 1067 | p31b_unsetcfg(CTL_P1003_1B_SEM_VALUE_MAX); |
| 1068 | p31b_unsetcfg(CTL_P1003_1B_SEM_NSEMS_MAX); |
| 1069 | } |
| 1070 | |
| 1071 | static int |
| 1072 | sem_modload(struct module *module, int cmd, void *arg) |
no test coverage detected