免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3280 | 回复: 9
打印 上一主题 下一主题

[FreeBSD] 内核中timeout函数的一些用法,顺便请教一下内核编程中的还有哪些定时器函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-23 20:24 |只看该作者 |倒序浏览
内核的空间申请不同于用户态编程。

内核态编程中, 有一个经典的错误,
在一个函数 mybdg(){
        int b ;
                b = 1000;  /* 想把 b 的地址传给 定时函数 */
                timeout( test, (void *)&b, 5*hz);   /* 隔 5 秒调用 test函数 */
            }

程序出错, panic error : vm_???
                在timeout调用中,传递的参数必须是在内核中分配的或者是程序中的全局变量,总之,不能是在堆栈中。
           
           解决方法:
          int b;  / * 全局变量 */
          Mybdg(){
               b = 1000;
               timeout(test, (void *)&b, 5*hz);
          }

或者:    mybdg() {
          int  *b = malloc(sizeof(int), IFADDR, M_WAIT | M_ZERO);
          timeout( test, (void *)b, 5*hz);



请教一下高手:
在内核中编程,我调用什么样的定时器函数比较好呢?
我只知道一个定时器函数 timeout.

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
2 [报告]
发表于 2007-05-24 08:58 |只看该作者
/usr/share/man/man9 里面有不少内核文档,你可以找找。

论坛徽章:
0
3 [报告]
发表于 2007-05-24 09:03 |只看该作者
timeout(9)

论坛徽章:
0
4 [报告]
发表于 2007-05-24 10:08 |只看该作者

谢谢

恩,去找找,谢谢指点

论坛徽章:
0
5 [报告]
发表于 2007-05-24 10:12 |只看该作者

问个弱智的问题,怎么找啊?

对不起,我是新手,什么都不会.

我用man timeout 9 查到一个 timeout(int delay ) 但这不是我在内核中用的那个啊, 怎么找呢?

在 /usr/share/man/man9中一堆 .gz的文件, 怎么查找呢?

论坛徽章:
0
6 [报告]
发表于 2007-05-24 10:13 |只看该作者

问个弱智的问题,怎么找啊?

对不起,我是新手,什么都不会.

我用man timeout 9 查到一个 timeout(int delay ) 但这不是我在内核中用的那个啊, 怎么找呢?

在 /usr/share/man/man9中一堆 .gz的文件, 怎么查找呢?

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
7 [报告]
发表于 2007-05-24 10:24 |只看该作者
原帖由 evwind 于 2007-5-24 10:12 发表
对不起,我是新手,什么都不会.

我用man timeout 9 查到一个 timeout(int delay ) 但这不是我在内核中用的那个啊, 怎么找呢?

在 /usr/share/man/man9中一堆 .gz的文件, 怎么查找呢?

# man 9 timeout?

论坛徽章:
0
8 [报告]
发表于 2007-05-24 12:10 |只看该作者

确实是man 9 timeout,谢谢!

确实是man 9 timeout,谢谢拉

论坛徽章:
0
9 [报告]
发表于 2007-05-24 14:06 |只看该作者
如果不知道中间的数字,就用man -a timeout,可以看到所有timeout的man帮助

论坛徽章:
0
10 [报告]
发表于 2007-05-24 14:11 |只看该作者

good!

谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP