C/C++

서버를 개발하던 중 갑자기 kernalbase.dll에서 애러가 떴다. 필자는 분명 커널에서 애러가 났고, 커널이 관리하는 IOCP에서 비동기 Accept동작을 걸었으니 여기서 애러가 난 것이라 생각했다. 하지만 이것은 반은 맞았고 반은 틀린 생각이였다. 놀랍게도 애러는 바로 getchar에서 일어난 것이였다. 비동기 작업을 걸기 전 io처리 스레드(GQSC; GetQueuedCompletionStatus()가 있는 스레드)가 커널모드에서 활성화 되지 않은 상태에서 주 스레드가 terminated되었을 땐 문제가 발생하지 않았다. 문제가 발생하는 상황은 비동기 작업을 걸어 io처리 스레드가 활성화 되고, 아무 문자를 입력해 main스레드에서 getchar를 실행하게 되었다. 하지만 getchar는 thr..
index1207
'C/C++' 태그의 글 목록