请问在内核内部是否存在终止其他线程的函数

mathe 2010-12-01 03:00:11
我查看了一下,好像内核里面不存在终止其他线程的函数,是否如此?

另外我查找到函数kthread_stop(...),看函数名,是否是用户终止其它线程的,而实际上这个函数是用于等待对方线程结束。
也就是
kthread_stop(t);
将挂起当前线程,直到线程t结束退出为止。
但是测试这个函数的时候,发现它还有一个,就是如果在调用这个函数的时候,线程t已经结束,那么这个函数将永远不会返回。不知道Linux中为何如此设计。
而现在我找到的唯一解决方案是在线程t退出之前,加入代入
while(!kthread_should_stop())schedule_timeout(1);
不知道有没有更加好一点的方法。
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mathe 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 eclipse_2 的回复:]
发个kill信号过去
[/Quote]
这个倒可以试验一下,但是应该不一定可用。
mathe 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lishaochun1983 的回复:]
这个是中止kthread_run()建立的线程的吧。
[/Quote]
是的
小魔菇 2010-12-01
  • 打赏
  • 举报
回复
发个kill信号过去
少逸 2010-12-01
  • 打赏
  • 举报
回复
这个是中止kthread_run()建立的线程的吧。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧