PINTOS - Project 1 : Debuging

JinJinJara·2023년 9월 24일
0

PINTOS

목록 보기
3/10

[Project 1] Timer

⚠️ Error!

🐞 Debuging!


해결1. interrupt OFF 변경 후 처리

void
thread_sleep(int64_t wake_time ){
	enum intr_level old_level;
    old_level = intr_disable ();	// 인터럽트 OFF 하기
    ...
    struct thread * curr = thread_current();
    ...

	intr_set_level (old_level);
}

해결2. &(curr->elem) 을 비교하기 (현재 실행중인 스레드-> 블락된 스레드)

list_insert_ordered(&sleep_list, &(thread_current ()->elem), compare_priority, NULL);
# list_insert_ordered : sleep_list 안에 elem 을 넣을 때, 비교 함수를 사용해 정렬 삽입한다.

📌 Tip!

  • c 실행 , n 다음줄 ... 이때 c 를 2번 사용하지 말기

0개의 댓글