Allow Giant to be recursed when a process terminates.

This commit is contained in:
jhb 2001-07-03 05:09:48 +00:00
parent 54186427e0
commit f43dc7e223
6 changed files with 12 additions and 12 deletions

View File

@ -251,8 +251,8 @@ cpu_exit(p)
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before

View File

@ -269,8 +269,8 @@ cpu_exit(p)
}
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before

View File

@ -269,8 +269,8 @@ cpu_exit(p)
}
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before

View File

@ -290,8 +290,8 @@ cpu_exit(p)
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before

View File

@ -161,8 +161,8 @@ cpu_exit(p)
{
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before

View File

@ -161,8 +161,8 @@ cpu_exit(p)
{
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
while (mtx_owned(&Giant))
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
/*
* We have to wait until after releasing all locks before