[질문] Xlib: unexpected async reply ...
글쓴이: 박계현 / 작성시간: 목, 2004/12/09 - 2:22오전
Quote:
[Error 메시지]
Xlib: unexpected async reply (sequence 0x7d0cd)!
현재 GTK+2.0 라이브러리와 PTHREAD 라이브러리를 이용해서
소켓 코드를 짜고 있습니다.
한개 THREAD 콜백 함수안에는 소켓에서 READ한 후 BUFFER에
담겨진 문자열을 GTKTEXT 위젯에 뿌려주는 부분입니다.
이쪽에서 문제가 발생한 것 같은데, 어떻게 해결 해야 할까요?
XLIB 위젯과 THREAD 간의 문제라고 하던데? 흠... 어느정도 진행이
잘되다가 위 에러 메시지가 나오면서 GUI 부분이 먹통이 되버리네요.
void * call_back(void *data) { while (1) { memset(m_bufRecv, 0, sizeof(m_bufRecv)); rlen = read(m_skRFComm, m_bufRecv, sizeof(m_bufRecv)); if (rlen > 0) { gtk_text_insert(m_textSelection, NULL, NULL, NULL, m_bufRecv, -1); } } }
Forums:
저도 비슷한 현상을 경험한 적이 있습니다.흔히 X나 GDK, GT
저도 비슷한 현상을 경험한 적이 있습니다.
흔히 X나 GDK, GTK+ 가 thread safe 하지 않다고 합니다.
thread 내에서 직접 gdk, gtk 함수를 호출 하려면
gdk_threads_enter, gdk_threads_leave 등으로 적절히 처리해
주어야 할 듯 싶습니다. 자세한 건 http://www.gtk.org/faq/#AEN482 를
참고하십시오.
당해 봤습니다.예전에 X Connection을 만든 상태에서 fo
당해 봤습니다.
예전에 X Connection을 만든 상태에서 fork()한 뒤 둘이 동시에 X윈도우에 뭔가를 같이 뿌려대는 프로그램 짰었는데.
X서버에서 저런 에러 나고 프로그램이 죽더군요. 이거 원인찾기도 힘듭니다.
최소한 프로세스나 스레드별로 X Connection을 분리하는 작업이 필요합니다.
(스레드끼리라면 윗분대로 임계영역을 쓰셔도 되고요)
Written By the Black Knight of Destruction
[re] [질문] Xlib: unexpected async reply ...
답변 감사합니다. 말씀하신 대로 한번 해보도록 하겠습니다.
해보고 다시 오겠습니다.
[Re] Xlib: unexpected async reply
잘 되는 군요. 이것때문에 고심했었는데, 도움이 많이 되었습니다.
:lol: 답변해 주신 분들 정말 감사합니다.
댓글 달기