처음으로 커널 쓰레드를 사용해 보았습니다.
글쓴이: dalant019 / 작성시간: 목, 2006/02/09 - 6:09오후
커널 쓰레드를 종료할 때 아래와 같이
void fun1(void *pData) { for ( ; ; ) { if (flag == true) { break; } ..... } }
단지 어떤 조건(flag == true)를 만족했을 때 for문을 빠져나야 리턴되면 커널 쓰레드가 자연스럽게 종료되는 건가요? 응용 쓰레드는 이렇게 종료되면 그 뒷 처리를 시스템에서 알아서 해주게 되는 데 커널 쓰레드는 시스템의 한 부분이기 때문에 이렇게 종료시켜서는 안될 것 같다는 생각이 갑자기 들어서요~
커널 쓰레드를 사용하는 데 있어서 주의할 점 등이 궁금합니다... ^^[/code]
Forums:
참고하세요http://www.scs.ch/~frey/linux/ker
참고하세요
http://www.scs.ch/~frey/linux/kernelthreads.html
해당 소스 코드 컴파일후 insmod 하면 다음 에러가 나는데요...
해당 소스 코드 컴파일후 insmod 하면 다음 에러가 나는데요...
이럴 경우 어떻게 해결해야 하죠?
소스코드는 2.4.2 버전에 맞추어서 제작된거 같은데...
insmod 한 시스템은 커널 버전 2.4.20 입니다.
[root@superman kernel_thread]# insmod thread_mod.o -f
thread_mod.o: unresolved symbol kernel_flag_cacheline
으음..
말 그대로 kernel_flag_cacheline 심볼을 못찾는거네요.
함수가 다른 오브젝트에 들어가있을수도 있겠죠.
해당 함수가 들어있는 오브젝트를 링크해줘야할거 같은데요..
kernel_flag_cacheline 은 SMP 환경에서 커널락의 하나로 사용되는 겁니다..
아마도 smp 세팅이 안되서 생기는 오류같네요~
---------------------------------------------------------------------------
http://jinhyung.org -- 방문해 보세요!! Jenix 의 블로그입니다! :D
댓글 달기