nvmm: preempt_disable should be able to be nested.
May fix #20224. Change-Id: Ide859c35c76b525af1dd6bc5ab3b640e89039503 Reviewed-on: https://review.haiku-os.org/c/haiku/+/11415 Reviewed-by: waddlesplash <[email protected]> (cherry picked from commit 4fc9b717c3e4e5d22a9d434b25c032f78a56f5c4) Reviewed-on: https://review.haiku-os.org/c/haiku/+/11418
This commit is contained in:
committed by
waddlesplash
parent
b87d2919ef
commit
f70d950766
@@ -192,14 +192,15 @@ haiku_thread_unpin()
|
||||
extern "C" void
|
||||
os_preempt_disable()
|
||||
{
|
||||
thread_get_current_thread()->cpu->reschedule_disabled = true;
|
||||
thread_get_current_thread()->cpu->reschedule_disabled++;
|
||||
}
|
||||
|
||||
|
||||
extern "C" void
|
||||
os_preempt_enable()
|
||||
{
|
||||
thread_get_current_thread()->cpu->reschedule_disabled = false;
|
||||
ASSERT(os_preempt_disabled());
|
||||
thread_get_current_thread()->cpu->reschedule_disabled--;
|
||||
if (os_return_needed())
|
||||
scheduler_reschedule_if_necessary();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user