본문 바로가기

MFC/error History

Terminated due to signal 13

반응형

해당 에러는 소켓통신시에 발생한다.

 

연결이 끊어진 소켓에 send 를 하면 SIGPIPE signal이 발생하여 디버깅에 잡히지 않고 종료된다.

 

해당 신호는 UNIX 신호이기 떄문에 이거에 대한 처리를 해주지 않으면 바로 프로그램이 죽는다.

 

나같은 경우는 IOS환경이며 게임앱 ->백그라운드 ->와이파이off ->게임앱 으로 돌아왔을때 발생하였다.

 

따라서 해결방법은 

 

signal(SIGPIPE, SIG_IGN);

 

위 코드를

1.백그라운드 진입시 호출되는 콜백함수

2.다시 인게임으로 들어오는 콜백함수 

 

각 함수 시작부에 넣어주니 해결되었다.

 

위 함수는 SIGPIPE 시그널을 무시하는것으로 아래링크에 친절히 써져있다. https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/CommonPitfalls/CommonPitfalls.html

 

Avoiding Common Networking Mistakes

Avoiding Common Networking Mistakes When writing networking-based software, developers often make a few common design and usage mistakes that can cause serious performance problems, crashes, and other misbehavior. This chapter highlights a few of those mis

developer.apple.com

 

반응형