当前位置: 技术问答>linux和unix
在内核模块中通过kernel_thread创建的线程,用kill_proc结束会死机呢?
来源: 互联网 发布时间:2015-12-19
本文导语: 比如: int Proc_Dispatch(void *ptr) { while (g_Running) { //处理过程 } } 在module_init时通过 g_ThreadID= kernel_thread(Proc_Dispatch, NULL, CLONE_FS ¦ CLONE_FILES ¦...
比如:
int Proc_Dispatch(void *ptr)
{
while (g_Running) {
//处理过程
}
}
在module_init时通过 g_ThreadID= kernel_thread(Proc_Dispatch, NULL, CLONE_FS ¦ CLONE_FILES ¦ CLONE_SIGHAND)创建了一个线程,
在 module_exit时如果用 kill_proc(g_ThreadID, SIGHUP, 1)结束线程会死机.
请问,我应该怎样做才能通知该线程结束以便进行资源回收呢?
谢谢指点一二了 :-)
int Proc_Dispatch(void *ptr)
{
while (g_Running) {
//处理过程
}
}
在module_init时通过 g_ThreadID= kernel_thread(Proc_Dispatch, NULL, CLONE_FS ¦ CLONE_FILES ¦ CLONE_SIGHAND)创建了一个线程,
在 module_exit时如果用 kill_proc(g_ThreadID, SIGHUP, 1)结束线程会死机.
请问,我应该怎样做才能通知该线程结束以便进行资源回收呢?
谢谢指点一二了 :-)
|
换个方法实现嘛!!!置全局变量的方式让线程自己退出