디바이스 드라이버 작성시...?
글쓴이: kkojiband / 작성시간: 화, 2003/11/04 - 1:33오전
interruptible_sleep_on 과 wake_up_interruptible 을 사용하려고 하는데요,
제대로 동작하는지 확인하기 위해 read 파일과 write 파일을 만들었습니다...
근데 이상한게 read 한 후에 블럭 되고 나서 write 를 하면 read 가 깨어나질 않습니다...
더 이상한건 write 를 실행시키고, read 를 실행 시킨 후에 write 에다가 임의의 문자열을 입력을 해서 보내면 read 가 깨어납니다...
대체 왜 이럴까요?
open 에서 wait_queue_head_t 는 초기화 시켜줬습니다...
참고로 커널 2.4.20 를 사용하고 있습니다...
고수님들 도와주세요~
Forums:
님 글로만으로 상황이 좀 정확하지 않네요....block device
님 글로만으로 상황이 좀 정확하지 않네요....
block device인지 char device인지도 분명치 않고,
....
아무튼, dead-lock이 발생한거 같은데,
두번째 경우에 대해서 read와 write가 실행이 될때, 리턴값을 확인해보세요...
정상적인 return 인지 아닌지...확인해 보시는게 좋을거 같네요....
문제 해결했습니다~제가 바보였습니다...--;;;wait
문제 해결했습니다~
제가 바보였습니다...--;;;
wait queue 초기화를 open 에서 해놨었습니다...
후...이거때문에 3일을 고생을 하다니...-_-;
암튼 위에 신경써주신 분 감사드립니다~ 꾸벅~!
이제 졸업이다...사랑하는 SKKULUG 후배들아 안녕~
댓글 달기