pthread version 문제가 발생하는지에 대해서 질문입니다.
글쓴이: roke79 / 작성시간: 금, 2003/11/14 - 3:22오후
Pthread를 사용해서 producer and consumer relationship을 해결한
소스입니다. 근데 이 소스에서 약간의 문제가 발생해서 조언을 구하려고
올렸습니다. 이 소스를 pthread가 NPTL version이 0.34에서는 아무
이상없이 돌아가는데(shell 프로그램으로도 돌려보고, consumer를 10만번
이상도 돌려봤을 때 아무 이상이 없었습니다.)
근데 제가 쓰고있는 Linux OS에서는(Redhat 9.0 이고 pthread
NPTL version이 0.29 입니다. ) 가끔 씩 consumer가 blocked 된 상태가
발생합니다. (producer가 consumer의 pthread_cond_signal을 받고
깨어나야 하는데 깨어나지 못하고 계속 block 되어 이론 인해 consumer까지
block 되는 현상이 발생합니다.) 이 현상이 발생하는 것이 NPTL의 version
차이에서 발생하는 문제인지 아니면 제 Linux의 pthread lib 가 뻑이 난건지
알고 싶습니다. 소스와 실행결과에서 에러가 난 것을 파일을 capture 해서 올리
겠습니다. 많은 조언 구합니다.
(아 그리고 pthread_cond_broadcast 를 할 경우에는 에러가 발생하지 않습
니다.)[/]
File attachments:
첨부 | 파일 크기 |
---|---|
typescript.txt | 9.58 KB |
main.c | 4.58 KB |
Forums:
RH 9.0에 기본설치된 glibc 패키지에 버그 있습니다.
레드햇 버그질라나 업데이트 사이트에서 확인할 수 있습니다.
cond_wait 등에서 hangup 되는 버그가 있습니다. 최신의 glibc 패키지로 업
데이트 하시면 됩니다.
주의하실 점은, RH9 Bug-fixed 페이지에 보면 glibc가 위의 문제로 인해 올해
4월에 업데이트었다고 나오는데, 여기 있는 패키지는 업데이트 관련 버그가 있
어서 사용하지 말아야 합니다.
다음 URL을 참고하시고, 마지막 쪽에 수정된 패키지 URL이 있으니 거기서
다운받아 설치하세요.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=88456
그럼. :)
댓글 달기