C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20340] Re:[질문] XP 에서 쓰레드와 메인에서 같은 핸들을 가져다 쓰면 다운되는데요?
유영인.Chris [cuperido] 732 읽음    2002-07-24 15:58
ReadFile 이 XP 에서 문제를 일으킨다는 것을 뉴스그룹에서 많이 본 것 같네요. 그래서, ReadFile을 이용하지 않은 컴포넌트들이 많이 나오고 있습니다.

이 부분에 대해서는 다른 방법으로 생각을 해보시는 것도 좋을 것 같습니다.


kabaliero 님이 쓰신 글 :
: : : : : : :
전에 시리얼 통신때문에 질문을 드렸었는데요.. 나름대로 문제점을 찾아서 이렇게 질문을 드립니다.
:
 
:
1. 포트에 대한 핸들을 얻고 설정을 한 후에
:
 
:
2. 쓰레드를 생성하여 ReadFile로 처리루틴을 집어넣습니다.
:
 
:
3, 메인에서는 WriteFile을 가지고 포트를 핸들링 합니다.
:
 
:
우선 2번에서.. 디버깅을 걸어보면 계속 ReadFile에서 걸려있습니다.
:
 
:
즉 Receive 되는 무엇인가가 있을때까지 기다린다는 의미가 되는것 같고요..
:
 
:
Receive가 되면 한 루프를 돌고 다시 ReadFile에 가서 걸려있습니다. 이건 당연한 결과인것 같은데요..
:
 
:
문제는 이 루틴을 XP에서 가져다 썼을때,
:
 
:
ReadFile에서 계속 기다리는 중에 WriteFile이 발생하면 다운이 되어버린다는 것입니다.
:
 
:
Win98에서는 무리없이 돌아가는것인데.. 뭐가 잘못된건지 모르겠습니다.
:
 
:
Win98 : ReadFile에서 COM 포트 핸들 잡고있는중에 WriteFile로 동일 핸들 사용 가능
:
:
 
:
WinXP : ReadFile에서 COM 포트 핸들 잡고있는중에 WriteFile로 동일 핸들 사용 불가능
:
 
:
답변 부탁드리겠습니다..
: :
:

+ -

관련 글 리스트
20327 [질문] XP 에서 쓰레드와 메인에서 같은 핸들을 가져다 쓰면 다운되는데요? kabaliero 734 2002/07/24
20340     Re:[질문] XP 에서 쓰레드와 메인에서 같은 핸들을 가져다 쓰면 다운되는데요? 유영인.Chris 732 2002/07/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.