SNU-ARC / 2024_spring_sysprog_Lab4

8 stars 0 forks source link

reference shell의 continue signal handling 관련 문의 #6

Open PJH6029 opened 5 months ago

PJH6029 commented 5 months ago

make rtest11을 이용해 verbose mode로 reference shell을 실행시켰을 때, stop signal 이후 fg %1로 process를 재개할 때 아래와 같은 메시지가 나오는 것을 확인하였습니다.

image

하지만, signal은 1-64의 범위를 갖는 것으로 알고있는데, signal 255가 의미하는 바가 무엇인지 궁금하여 질문드립니다.

Jong25 commented 5 months ago

해당 부분은 의미없는 코드가 추가되어 생긴 문제로, 무시해주시기 바랍니다. Please ignore that signal value since it is caused by mistakes.


해당 코드에서는 signal 값을 WSTOPSIG(status)를 통해 계산해오는데, glibc의 waitstatus.h 헤더파일을 확인하시면 WSTOPSIG는 status의 [15:8]번째 bit (1byte)를 반환하고, CONTINUED인 경우 status 값은 0xffff이기 때문에 256을 반환하게 됩니다. WSTOPSIG 매크로를 잘못된 상황에 사용하여 의미 없는 값을 반환한 것이라고 이해하시면 될 것 같습니다.