易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 信号集 浅析

  Linux信号有多种说法。一个进程创建一个信号用于发送给另外一个进程叫做发送一个信号,内核创建一个信号叫做生成一个信号,进程自己向自己发送信号叫做唤起一个信号。不过我看也没必要这么学究气。
  信号集--signel set,其实就是将多个信号放在集合中进行集中的处理。POSIX.1定义了sigset_t以包涵一个信号集,并且定义了五个处理信号的函数:
  int sigemptyset(sigset_t *set);
  int sigfillset(sigset_t *set);
  int sigaddset(sigset_t *set,int signo);
  int sigdelset(sigset_t *set,int signo)
  int sigismember(const sigset_t *set,int signo);
  还有一个重要的函数:int sigprocmask(int how,const sigset_t *restrict set,sigset_t *restrict oset);
  单纯讲这些函数很难讲明白,下面结合程序来讲,程序来自UNIX环境高级编程:
  
   static void sig_quit(int);   //信号处理函数
   int main( )
  {
     sigset_t newmask,oldmask,pendmask;
     if(signal(SIGQUIT,sig_quit)==SIG_ERR)
            err_sys("can not catch SIGQUIT");
     -----------------------------------------------------------------------------------------------------------
     sigemptyset(&newmask);    //清空信号掩码集newmask,不阻塞任何信号
     sigaddset(&newmask,SIGQUIT);  //将SIGQUIT信号放入信号集newmask中去
    
     if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)<0) //将oldmask 和newmask合并
             err_sys("SIG_BLOCK error");  //当前信号屏蔽字放在newmask里,以前的放在oldmask里
    
     sleep(5);
     if(sigpending(&pendmask)<0)   //保存所有被阻塞的信号,本例即保存SIGQUIT到pendmask中去
            


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

很受欢迎的Linux笔记

 
linux目录架构
/   根目录
/bin    常用的命令
binary file 的目錄
/boot   存放系统启动时必须读取的档案,包括核心
(kernel) 在内
     /boot/grub/menu.lst   GRUB设置
     /boot/vmlinuz   内核
......

Linux下OpenEv编译安装

 把GDAL安装目录下的../bin/gdal-config复制到/usr/bin/下,否则出现“找不到gdal-config”
把proj4安装目录下的../include/proj_api.h复制到GDAL安装目录中的include中,否则出现“未定义proj_api.h”或者直接把proj4安装到默认路径,否则会提示“找不到 -lproj”。 ......

Linux Kernel Threads in Device Drivers

 Purpose
This examples shows how to create and stop a kernel thread.
The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cle ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号