============================================================================
原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。
请注明转自:http://yunjianfei.iteye.com/blog/
============================================================================
最近从bacula里面的代码整理出来一个timer,实现的功能为:
可以启动一个独立的timer server线程,可以向其注册N个timer,在发生timeout的时候调用回调函数做一些事情。
最典型的场景为:一个socket server监听连接,来连接的时候创建一个线程,做类似状态机之类的一些工作。这时候如果发生超时,就比较麻烦。
如果有一个timer server,在来连接的时候,就注册一个timer,加入threadid,回调函数。在发生timeout的时候,就比较灵活了。
代码下载地址为http://download.csdn.net/download/xiaoyu966/6834199
见谅,积分有点高- -,不过确实是自己花了点时间改出来的,赚点积分哈哈。希望能帮助到大家。
相关推荐
- 编写一个简单的C语言程序,利用`ioctl`函数设置Watchdog超时时间,并通过循环不断喂狗。 - 核心代码如下: ```c // 设置Watchdog超时时间 ioctl(fd, WDIOC_SETTIMEOUT, &timeout); while (1) { keep_...
watchdog定时器是嵌入式系统和软件开发中的一个重要概念,特别是在需要可靠性和容错性的环境中。这个C语言实现的timer服务允许程序注册多个定时器,每个定时器都可以针对不同的事件或连接进行监控。下面我们将详细...
80s52 是一款基于8051微控制器系列的微处理器,具有丰富的内置功能,其中包括看门狗定时器(Watchdog Timer)。看门狗定时器是一种硬件机制,用于监控程序的运行状态,防止程序因为异常或死循环而失效。在80s52中,...
在MCF5282这款ColdFire处理器中,Watchdog Timer是一个重要的组成部分,它能够定期检查系统的运行状态,并在预设的时间间隔内需要被重置,否则它将触发一个复位信号,使系统恢复到已知的良好状态。 文件"**watch.c*...
如果程序因为某种原因陷入死循环或者无法执行正常的定时器更新,定时器将在达到预设时间后触发一个中断或复位信号,从而强制系统恢复到一个已知的稳定状态。 **二、DSP2812的看门狗定时器特性** TMS320F2812内建了...
它的全称是watchdog timer,正如其名,它实际上是一个硬件或软件实现的定时器,用于监控系统运行状态。当系统出现故障或者异常时,看门狗定时器能够自动恢复系统,防止系统长时间无响应或进入死锁状态。 **1. 工作...
下面是一个简单的示例程序,用于演示如何使用看门狗服务: ```c #include #include int main(void) { int fd; fd = open("/dev/watchdog", O_RDWR); if (-1 == fd) { printf("Start watchdog failed!\n"); ...
在这个模块中,计数器被设计为跨时钟域工作,意味着它可以在一个时钟域中进行计数,并在另一个时钟域中读取或比较计数值。这样的设计允许系统在不同的速度等级之间传递信息,同时保持数据的完整性。 然后是看门狗...
Linux混杂设备驱动,也称为Misc驱动,是一种用于简化简单字符设备驱动程序初始化的方法。它主要针对具有共同特性的设备,这些特性被内核抽象成API,这些API在`drivers/char/misc.c`中实现。混杂设备共享同一个主设备...
在主函数中,首先关闭了看门狗定时器(Watchdog Timer),防止在程序运行过程中因未定期喂狗而导致系统复位。然后调用`InitSys()`进行系统初始化,并进入一个无限循环,等待用户代码填充。 2. **系统初始化函数...
其中,Watchdog Timer是MSP 430芯片的一个核心功能模块,它的主要作用是在程序运行过程中监控系统状态,防止软件的异常锁定,确保系统能够按照预期运行。 Watchdog Timer的工作原理是:在程序启动后,定时器开始...
在计算机硬件中,Watchdog Timer通常是一个独立的计时器单元,它会持续计数并在达到预设时间后执行一个操作,如重启系统。Fintek的F81866D芯片中的Watchdog Timer可以被软件控制,允许用户设置不同的超时时间,并...
首先,WDT(Watchdog Timer)是一个重要的系统监控工具。它主要有三个功能: 1. 定时中断:当WDT的计数值达到预设阈值时,它会产生一个中断请求,通知CPU执行特定操作。 2. 防止程序失控:如果程序陷入无限循环或...
"watchdog-5.4.tar.gz" 是一个包含软件看门狗程序的压缩包,它在IT领域中扮演着重要角色。看门狗程序是一种监控系统稳定性和安全性的工具,通常用于预防系统崩溃或者异常情况的发生。这个版本是5.4,意味着它可能...
1. 一个名为"Watchdog"的服务或应用程序,专为Windows Mobile设计,用于监控系统状态并进行恢复操作。 2. "WTD"可能是一个具体的看门狗实现,可能包含配置、驱动或其他支持文件。 3. 文件夹结构可能包含"../.."路径...
在IT领域,"WatchDog.zip"这个压缩包文件很可能包含了一个与QT编程框架、看门狗定时器以及UDP网络通信相关的项目或教程。让我们深入探讨一下这些关键知识点。 首先,QT是一个跨平台的C++应用程序开发框架,广泛用于...
在嵌入式系统设计中,看门狗定时器(Watchdog Timer)是一种至关重要的安全机制,它用于监控系统的正常运行。在本文中,我们将深入探讨S3C2410处理器中的看门狗定时器,并解析其工作原理、配置方法以及在实际应用中...
Timer机制是计算机系统中至关重要的组成部分,它涉及从硬件到操作系统的多个层面,甚至在虚拟化环境中也有其应用。本文将深入探讨Timer的各个层面,包括Timer机制、硬件Timer、操作系统中的Timer、应用程序中的Timer...
在STM32的系统中,看门狗定时器(Watchdog Timer,简称WDT)是一种重要的安全机制,用于监控系统运行状态,防止程序因为异常或故障而陷入死循环。Windows Watchdog则是在操作系统层面上实现的类似功能,用于确保服务...
"VC watchdog"是一个基于C++编写的看门狗程序,主要功能是监控系统或应用程序的运行状态,并在出现异常时采取相应措施,确保系统的稳定性和可靠性。看门狗技术广泛应用于嵌入式系统、服务器以及各种实时操作系统中,...