[커널]커널 쓰레드에서 interruptible_sleep_on_timeout 사용시 USB 연결
글쓴이: kieslv / 작성시간: 금, 2011/03/25 - 7:17오후
안드로이드 개발 보드에서 커널 드라이버를 구현 중 입니다.
커널 쓰레드에서 다음과 같은 코드를 사용하고 있습니다.
while(1)
{
interruptible_sleep_on_timeout(&testevent, 1000);
printk("test!!!!\n");
if(test)
{
test = 1;
}
}
1. 부팅 후 정상 작동을 하는데 USB를 연결하게 되면 interruptible_sleep_on_timeout에 걸리지 않고 1000 이라는 타임아웃도 적용이 안되는것 처럼 보이면서 무한 루프를 돌게 됩니다.
2. interruptible_sleep_on_timeout 코드가 실행되기 전에 wake_up_interruptible 이 먼저 실행되면 interruptible_sleep_on_timeout 가 풀리지 않아서 테스트를 위해서 위와 같은 코드를 확인중입니다.
1의 원인과 2의 해결방안을 아시는 분은 도움을 부탁드립니다......제발...ㅠㅠ
Forums:
댓글 달기