Search
Duplicate
🗣️

minitalk (0) 개요

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
C
42cursus
minitalk
Scrap
태그
9 more properties
minitalk
시그널(Signal)
비동기적으로 프로세스에 무언가 발생했음을 알리는 표준 신호

핵심

SIGUSR1/SIGUSR2 시그널을 사용하여 server에서 client들의 메세지를 받는 것이 목표입니다.
개인적으로 중요하다고 생각하는 사항은 아래과 같습니다.
mandatory : 비트 연산, 시그널 처리, 메시지 처리 속도
bonus : 시그널 누락 처리, 유니코드 지원
시그널 핸들러 사용 중 서버가 먹통이 되는 이유는 무엇일까요?
시그널 핸들러에서 비동기 안전 함수를 사용하거나 전역 변수를 사용하면 데이터 레이스가 발생한다는 사실 알고 계셨나요? 이 경우 의도치 않은 동작이 발생할 수 있습니다.
자세한 내용은 [시그널 주의사항]에서 다루므로 이 부분은 꼭 읽어주세요!

시퀀스 다이어그램 예시

sequenceDiagram
    autonumber
		loop send bits
			Client->>Server: SEND<br>[kill SIGUSR1/SIGUSR2]
			alt 응답
			Server-->>Client: ACK<br>[kill SIGUSR1]
			else
			Server-->>Client: ERR<br>[kill SIGUSR2]
			end
		end
		Note right of Server: print message
Mermaid
복사
문서 양식 사용을 허락해주신 suhshin님 감사합니다.