kernel: Undo changes to pinned threads and blocking.
This reverts commit58ed2965d0
. This reverts commit055d49b1fd
. I was mistaken, it is perfectly legal to block a pinned thread. It seems we'll need some other way to detect invalid context switches.
This commit is contained in:
parent
055d49b1fd
commit
13c4bc94ca
@ -233,9 +233,7 @@ x86_hardware_interrupt(struct iframe* frame)
|
||||
apic_end_of_interrupt();
|
||||
}
|
||||
|
||||
thread->pinned_to_cpu++;
|
||||
int_io_interrupt_handler(vector, levelTriggered);
|
||||
thread->pinned_to_cpu--;
|
||||
|
||||
if (levelTriggered) {
|
||||
if (!sCurrentPIC->end_of_interrupt(vector))
|
||||
|
@ -2847,11 +2847,6 @@ thread_block_timeout(timer* timer)
|
||||
static inline status_t
|
||||
thread_block_locked(Thread* thread)
|
||||
{
|
||||
if (thread->pinned_to_cpu > 0) {
|
||||
panic("attempting to block thread %" B_PRId32 ", which is pinned!",
|
||||
thread->id);
|
||||
}
|
||||
|
||||
if (thread->wait.status == 1) {
|
||||
// check for signals, if interruptible
|
||||
if (thread_is_interrupted(thread, thread->wait.flags)) {
|
||||
|
Loading…
Reference in New Issue
Block a user