2013年9月23日

字符设备驱动笔记——同步互斥阻塞(九)

摘要: 一、同步互斥阻塞1. 原子操作原子操作指的是在执行过程中不会被别的代码路径所中断的操作。常用原子操作函数举例:atomic_t v = ATOMIC_INIT(0); //定义原子变量v并初始化为0atomic_read(atomic_t *v); //返回原子变量的值void atomic_inc(atomic_t *v); //原子变量增加1void atomic_dec(atomic_t *v); //原子变量减少1int atomic_dec_and_test(atomic_t *v); //自减操作后测试其是否为0,为0则返回true,否则返回false。2. 信号量信号量(sema 阅读全文

posted @ 2013-09-23 19:01 屁屁侠 阅读(736) 评论(0) 推荐(0) 编辑

字符设备驱动笔记——异步通知(八)

摘要: 一、信号处理函数的要点:1.注册一个信号处理函数2.发信号,谁发3.发给谁4.怎么发#include #include void my_signal_fun(int signum){ static int cnt = 0; printf("signal = %d, %d times\n", signum, ++cnt);}int main(int argc, char **argv){ signal(SIGUSR1, my_signal_fun); while (1) { sleep(1000); } return 0;}二、执行... 阅读全文

posted @ 2013-09-23 17:09 屁屁侠 阅读(508) 评论(0) 推荐(1) 编辑

导航