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
[20327] [질문] XP 에서 쓰레드와 메인에서 같은 핸들을 가져다 쓰면 다운되는데요?
kabaliero [] 735 읽음    2002-07-24 10:56
전에 시리얼 통신때문에 질문을 드렸었는데요.. 나름대로 문제점을 찾아서 이렇게 질문을 드립니다.
 
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 735 2002/07/24
20340     Re:[질문] XP 에서 쓰레드와 메인에서 같은 핸들을 가져다 쓰면 다운되는데요? 유영인.Chris 733 2002/07/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.