[모각소] 14회차 리뷰

Donghyun, Kim·2022년 8월 18일
0

오늘의 한 일

자 일단 문제는 해결했다.
지금 시간은...

하루를 지나 새벽 3시이다.

사실 문제 해결은 간단했다(언제나 그렇듯)

이전에 교수님께서 주셨던 솔루션이 제대로 되지 않았다고 포스팅을 했던 것 같은데 결과는 그 솔루션이 맞았다.

다만 그 구현에서 () 괄호 두 개를 빼먹었을 뿐...

해결은 아래와 같다.

외부 인터럽트 발생시에 thread_yeild 함수가 불리면 ASSERT문에 의해서 커널패닉이 나는 것이었는데

-       if (most_priority_thread->priority > curr_thread->priority)
+       if (most_priority_thread->priority > curr_thread->priority && !intr_context())
        {
                thread_yield();
        }

위와같이 외부 인터럽트시에 안되게끔 조치했더니 해결되었다.

문제는 이 방법을 화요일에도 시도 했었다는건데
당시에 !intr_context 라고 작성을 했던 것이었다.
해봤던 솔루션이니까 안되겠지하고 이틀간 뻘짓 아닌 뻘짓을 한건데...

일단 해결했으니 주말간 버닝해야겠다..

profile
Interested in ML, Computer Vision

0개의 댓글