문제

IPC 대기열을 통해 서로 메시지를주고받는 프로그램이 두 개 있습니다.그러나 때때로 msgrcv 함수는 대기열을 통해 실제로 전송 된 내용을 수신하는 대신 빈 메시지를받습니다.작동해야한다고 생각하는 수정 사항을 주석 처리했지만 여기서 확인하고 이것이 msgrcv 및 msgsnd를 사용하는 적절한 방법인지 확인하고 싶었습니다.

msgrcv : 라코 디스



msgsnd : 라코 디스

도움이 되었습니까?

해결책

당신은 다음과 같이 말합니다 : "하지만 때때로 msgrcv 함수는 실제로 큐를 통해 전송 된 것을 수신하는 대신 빈 메시지를받습니다."

문제를 디버깅하는 방법으로 실제로 어떤 일이 발생하는지 파악하는 것이 좋습니다.

msgrcv는 읽은 바이트 수를 반환하거나 오류 발생시 -1를 반환합니다.이를 확인하고 실제로 무슨 일이 일어나는지 확인해야합니다.

-1이면 errno가 설정되고이를 알 수있는 여러 가지가 있습니다.매뉴얼 페이지에 모두 나열되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top