2010-05-20 8 views
1

msgsnd : 프로그램 사용 중에 잘못된 인수 오류가 발생했습니다. 내가 언급 한 또 다른 점은 파일 크기가 약간 더 클 때 발생하는 반면 파일 크기가 중간 인 경우 오류가 발생하지 않는다는 것입니다. 메모리 오버플로 때문입니까? 그렇다면 해결책은 무엇입니까? 감사합니다, Bhavin.msgsnd : 잘못된 인수

+0

프로그램이 성공한 특정 파일 크기는 152K와 75K이고 msgsnd는 파일 크기입니다. 잘못된 인수 오류는 336K, 404K, 396K입니다. – bhavin

답변

2

msgsnd()msgsz 매개 변수가 MSGMAX (보통 8192와 같이 상당히 작은 값)보다 큰 경우를 반환합니다.

어떤 msgsz을 사용하고 계십니까?

+0

카페 고마워. 나는 내가 사용하고있는 pkt의 크기가 거의 12000이라는 것을 알았다. 그것은 내가 prblm을 일으키는 pkt의 크기이다. 우리는 MSGMAX의 가치를 바꿀 수 있습니까? 감사합니다, Bhavin. – bhavin

+1

운영 체제에 따라 다릅니다. 리눅스에서는'kernel.msgmax' sysctl ('/ proc/sys/kernel/msgmax'에서 접근 가능)을 사용하여 시스템 전체를 변경할 수 있습니다. – caf

+0

감사합니다. caf는 /etc/sysctl.conf 파일에서 해당 매개 변수를 명시 적으로 사용하고 sysctl -p를 사용하여 변경했습니다. 답장을 보내 주셔서 감사합니다. 감사합니다, Bhavin – bhavin

관련 문제