首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    10_linux内核定时器实验

    ③ del_timer函数 ​ del_timer 函数用于删除一个定时器,不管定时器有没有被激活,都可以使用此函数删除。...在多处理器系统上,定时器可能会在其他的处理器上运行,因此在调用 del_timer 函数删除定时器之前要先等待其他处理器的定时处理器函数退出。...函数原型如下: int del_timer(struct timer_list * timer) ​ timer:要删除的定时器。 ​ 返回值:0,定时器还没被激活; 1,定时器已经激活。...④ del_timer_sync函数 ​ del_timer_sync 函数是 del_timer 函数的同步版,会等待其他处理器使用完定时器再删除,del_timer_sync 不能使用在中断上下文中...linux/kernel.h> #include linux/fs.h> #include linux/uaccess.h> #include #include linux

    2.6K30

    Linux内核编程_linux内核开发工具

    【转载】Linux内核编程与应用编程对比 转载链接1:http://www.arrowapex.cn/archives/66.html 在此之前也不清楚linux内核编程跟用户应用程序编程之间有什么不同...2.内核编程引进的头文件都在内核源码的include文件夹下,比如我的debian linux 2.6环境下是:/usr/src/linux/include下,而用户应用程序编程引进的头文件都是从开发环境头文件的...但是在某些情况下,可能需要提前删除这个结构时,会调用del_timer删除定时器,然后释放内存。看到这样的代码,我立刻就怀疑当del_timer删除定时器时,如果该定时器正在处于执行阶段,怎么办?...上网查询了一下,果不其然,del_timer返回时不能保证没有正在执行的定时器。那么当定时器还在执行的时候,这个动态结构就被释放了,定时器也会随着动态结构的释放而释放。这样的代码肯定是有问题的。...对于在linux内核实现网关的某些功能时,我发现,虽然linux已经提供了很多现成的东西,可以保证快速开发。但是内核本身架构是一个通用计算机,不是专门针对网络处理的。

    16K20
    领券