MCPcopy Create free account
hub / github.com/F-Stack/f-stack / semunload

Function semunload

freebsd/kern/sysv_sem.c:346–375  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

344}
345
346static int
347semunload(void)
348{
349 int i;
350
351 /* XXXKIB */
352 if (semtot != 0)
353 return (EBUSY);
354
355#ifdef COMPAT_FREEBSD32
356 syscall32_helper_unregister(sem32_syscalls);
357#endif
358 syscall_helper_unregister(sem_syscalls);
359 EVENTHANDLER_DEREGISTER(process_exit, semexit_tag);
360 if (sem_prison_slot != 0)
361 osd_jail_deregister(sem_prison_slot);
362#ifdef MAC
363 for (i = 0; i < seminfo.semmni; i++)
364 mac_sysvsem_destroy(&sema[i]);
365#endif
366 free(sem, M_SEM);
367 free(sema, M_SEM);
368 free(semu, M_SEM);
369 for (i = 0; i < seminfo.semmni; i++)
370 mtx_destroy(&sema_mtx[i]);
371 free(sema_mtx, M_SEM);
372 mtx_destroy(&sem_mtx);
373 mtx_destroy(&sem_undo_mtx);
374 return (0);
375}
376
377static int
378sysvsem_modload(struct module *module, int cmd, void *arg)

Callers 1

sysvsem_modloadFunction · 0.85

Calls 3

mac_sysvsem_destroyFunction · 0.85
freeFunction · 0.70

Tested by

no test coverage detected