[기타묻고답하기 이용안내]



sun OS 5.8 에서 사용중인 프로세스인데 잘 되던녀석이 갑자기 안되네요...ㅠ


문제는 mtype 큐로 넘어갈때 그 뒷자리부터 땡겨져서 사라집니다.


예를들면 다음과 같습니다. 120길이의 데이터를 큐에 넣는거죠.

int mtype;

char mdata[116];


mtype = 1011;

mdata(편의상 대충) = 'ABCDEF'


이걸 큐에 넣는데 빠져나가질 않더랍니다. (ipcs -opq해보니 들어간 프로세스는 있는데 나간 프로세스가 없습니다.)

그래서 msgrcv의 옵션을 0으로 넣어서 다 땡겨 봣더니 처음에 mtype에 들어가 있어야할 4byte 1011에 ABCD가 들어가 있는겁니다. ㅠㅠ 이거 대체 왜 그런걸까요..


이거 때문에 굉장히 많은 곳에서 문제를 일으키고 있습니다. ㅠㅠ....


man page에서 msgget의 mtype은 long int로 선언 되어 있어서 long int로 mtype을 선언했더니 타입이 제대로 들어가긴 하나 버퍼사이즈를 120으로 정해서 넣었던 데이터가 128로 들억가버리는 문제 때문에 계속적인 문제를 일으켜서 이것 역시....


간밤에 무슨일이 있었던 걸까요? 큐의 권한도 바뀌지 않았고 소스의 변경도 없었고 미치겠습니다... 혹시나 하는 마음에 다른 서버에서 잘 구동되고 있는 소스를 가져와서 컴파일 했는데도 역시 같은 문제로 되지 않습니다..


ㅠ_-초보개발자보더가 눈구경은 하지도 못하고 삼실서 썩고 있습니다....ㅠ 도움 부탁드려요~

엮인글 :

슈팅~☆

2010.12.12 20:29:45
*.103.83.29

머나먼 나라의 언어라 죄송합니다.ㅠ

ㅁ.ㅁ

2010.12.12 22:46:19
*.216.154.181

무슨 말씀인지 하나도 못알아 듣겠어요. ㅠ.ㅠ  죄송.

 

일단 메시지큐를 사용하실려면

 

1.  권한 문제 해결(어제는 되었는데 하는 노가다 마인드는 개발자에게 필요없습니다) :

IPC쪽은 대부분 권한 문제에서 시작됩니다. 키값을 적당한 권한을 주어서 생성하셨는지 이것부터

확인해보세요. 예를 들면 가장 간단한 프로그램 만들어서 확인해보세요. 혹은 키 생성시 키를 파일로

생성해서 권한을 확인해보세요.

 

2. 올려주신 내용중에 읽어 보니 엉뚱한 데이터가 있다면 대부분 데이터 선언쪽에 문제가 있을겁니다.

예를 들면 포인터에 메모리 할당없이 포인터 읽기 혹은 선언후 초기화 않해서 가베지 데이터 들어가

있는 경우등입니다. 또 다른 하나는 크기 문제입니다. 116바이트 선언해놓고 120 바이트 읽을려고 하거나

아니면 데이터 끝의 널바이트 없는 문제등도 그런것중 하니입니다.

 

데이터 송수신용 통신 구조체는 어떤것을 사용하시나요? select나 poll같은 것으로 데이터를 읽을수 있는

상태일때 읽고 쓸수 있게끔 하시는건가요? 이런 부분도 한번 고려해보세요.(지금 생기는 문제와는 상관

없는겁니다만)

 

3. IPC쪽은 제가 이것 저것 다 해보니 가장 포터블위하게 사용할수 있는게 도메인 소켓을 이용하는것이 아닐까

생각되어집니다. 기존 통신 구조를 그대로 사용할수 있으니 어떤 제약없이 마음대로 가공이 가능합니다.

 

 

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 [기타묻고답하기 게시판 이용안내] [1] Rider 2017-03-14 58420
3176 아이폰(아이튠즈) 계정 만들때 돈이 결재가 되었습니다... [3] 보드장 2010-12-15 967
3175 헬맷 묵은때 어떻게 벗기나요? [7] 헬맷 2010-12-15 768
3174 니나리찌면 명품이예요? [10] 헤지스 2010-12-15 2961
3173 대웅모닝컴 전기난로 사용해보신분? 겁쟁이 2010-12-15 548
3172 스티커 파고 있는데요 [2] 말로 2010-12-15 459
3171 헝글 싸이트 동영상 자료실 [2] 배고픈민군 2010-12-15 510
3170 에베레스트 베이스캠프 관련 질문.. 산악인분들 계신가요..ㅜㅜ [2] N.T홍군 2010-12-15 598
3169 현대성우근처 송어횟집 중 [1] 요니상 2010-12-15 625
3168 베어스타운을 가려고 합니다 [2] 페오M 2010-12-15 720
3167 윈도우 NT 서버 맥어드레스 확인 [5] 은수달 2010-12-15 952
3166 수영복 저렴하게 판매하는 사이트 추천해주세요.. [5] 플러스편의... 2010-12-15 858
3165 x염색체와 y염색체에는 각각 어떤 유전정보가 들어있는지요...? [3] nexon 2010-12-15 1048
3164 교통사고 합의금 질문입니다 [1] 궁금 2010-12-15 1137
3163 헝글 사이트 글씨가 너무 작게 보여요 [4] 미댕 2010-12-15 782
3162 지산 맛집 공유좀 해주세요 들밥 외에~ 또 어디있을까요? [5] ㅇㅇ 2010-12-15 1423
3161 교도소 운영비용 진정한백수다 2010-12-15 1991
3160 유학생보험 관련! 질문 (미국) [4] 보험단 2010-12-15 649
3159 [IT 용어] oauth 가 뭐에요? [5] 개꽁 2010-12-15 1110
3158 컴맹입니다. 노트북 조언 부탁드립니다. [4] 카모메 2010-12-15 705
3157 보드 빈님에 의해 게시글이 삭제되었습니다. [11] 보드 빈 2010-12-15 885