Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug : #46/부모 프로세스 시그널 핸들링 #58

Merged
merged 1 commit into from
Jan 15, 2023

Conversation

wonyangs
Copy link
Collaborator

🚅 PR 한 줄 요약

부모 프로세스의 시그널 핸들링 추가

🧑‍💻 PR 세부 내용

문제 원인분석

  • [Bug] 명령어 실행 중 SIGINT가 들어오는 경우 출력 오류 #46 에서 발생하는 문제의 원인은 부모 프로세스의 SIGINT를 끄지 않았기 때문
  • 기존에는 자식 프로세스가 실행되기 전 부모의 SIGINT 설정을 끄지 않음
  • 이에 따라 명령어 실행 중 SIGINT 시그널을 보내면 부모, 자식 모두 시그널을 받게 됨
  • 부모 프로세스의 SIGINT 설정에 따라 prompt가 한 번 더 출력 되었음

해결

  • 자식 프로세스 실행 전 부모 프로세스가 SIGINT를 ignore 하도록 핸들링
  • 명령어 실행 후 시그널 설정을 원래대로 되돌림

추가 수정사항

  • bash에서 SIGINT를 받으면 마지막 종료상태가 1됨
  • minishell의 SIGINT 설정에도 이를 추가

앞으로 해야할 일

  • minishell의 터미널 설정과 시그널 설정 함수 정리
  • main문 로직 분리 및 리팩토링

📸 스크린샷

스크린샷 2023-01-15 오전 11 57 36

스크린샷 2023-01-15 오전 11 57 06

@wonyangs wonyangs added 🐞 Bug 문제 발생 💻 Implement 기능 구현 labels Jan 15, 2023
@wonyangs wonyangs requested a review from mingxoxo January 15, 2023 02:59
@wonyangs wonyangs self-assigned this Jan 15, 2023
@wonyangs wonyangs linked an issue Jan 15, 2023 that may be closed by this pull request
Copy link
Owner

@mingxoxo mingxoxo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mingxoxo mingxoxo merged commit 5580bbe into main Jan 15, 2023
@wonyangs wonyangs deleted the bug/#46/sigint-handling branch January 15, 2023 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 Bug 문제 발생 💻 Implement 기능 구현
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Bug] 명령어 실행 중 SIGINT가 들어오는 경우 출력 오류
2 participants