首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测函数的调用线程是否已经是实时的RTAI?

如何检测函数的调用线程是否已经是实时的RTAI?
EN

Stack Overflow用户
提问于 2011-10-15 13:34:04
回答 1查看 198关注 0票数 0

我正在做一个在内核和用户空间中使用RTAI的大型项目。我不想深入讨论这个项目的细节,但这里简单地说明了一个问题出现的地方。

在用户空间中,我的项目提供了一个其他人用来编写软件的库.这些程序本身可能具有RTAI实时线程。

现在,RTAI中的一些函数要求它们的调用线程已经rt_thread_inited,所以如果我想在库中的函数中使用它们,我需要通过调用rt_thread_init和后来的rt_task_delete来临时实时地执行调用线程。

现在问题是:

如果我的函数的调用线程已经是实时的,那么我假设是rt_thread_initing,但我假设它失败了,但是我将rt_task_delete并使该线程非实时(除了当线程本身(假设我没有改变)再次rt_task_deletes,RTAI崩溃这一事实。

如果函数的调用线程不是实时的,那么一切都是正常的。

现在,我使用函数中的一个参数,以便调用函数告诉库它是否是实时的。但是,我想知道RTAI是否有一个函数或其他什么功能,可以用来自动检测当前线程是否是实时的.

不知道这里是否有任何RTAI用户(我当然没有看到RTAI标签),但希望有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-15 18:35:28

我从未尝试过,所以这只是猜测--但是您考虑过使用rt_whoami吗?

获取当前任务的任务指针。

https://www.rtai.org/documentation/magma/html/api/api_8c.html#a12

我可以想象它会失败(返回NULL?)如果你在非RT任务中..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7778122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档