diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index fcd8b39a8ee..515c2d4e639 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -340,9 +340,6 @@ exit1(struct thread *td, int rval, int signo) itimers_exit(p); - if (p->p_sysent->sv_onexit != NULL) - p->p_sysent->sv_onexit(p); - /* * Check if any loadable modules need anything done at process exit. * E.g. SYSV IPC stuff. @@ -374,6 +371,8 @@ exit1(struct thread *td, int rval, int signo) PROC_UNLOCK(p); umtx_thread_exit(td); + if (p->p_sysent->sv_onexit != NULL) + p->p_sysent->sv_onexit(p); seltdfini(td); /*