我是靠谱客的博主 奋斗母鸡,最近开发中收集的这篇文章主要介绍使用信号实现异步通知,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<sys/types.h>
#include<sys/stat.h>
#include<stdio.h>
#include<fcntl.h>
#include<signal.h>
#include<unistd.h>
#define MAX_LEN 100
void input_handler(int num)
{
char data[MAX_LEN];
int len;
len = read(STDIN_FILENO,&data,MAX_LEN);
/*读取并输出 STDIN_FILENO 的输入*/
data[len] = 0;
printf("input available: %sn",data);
}
int main()
{
int oflags;
signal(SIGIO,input_handler);
/*启动信号驱动机制*/
/*为 SIGIO 信号安装input_handler() 作为处理函数*/
fcntl(STDIN_FILENO,F_SETOWN,getpid());
/*设置本进程为 STDIN_FILENO 文件的拥有者*/
oflags = fcntl(STDIN_FILENO,F_GETFL);
fcntl(STDIN_FILENO,F_SETFL,oflags | FASYNC);
while(1);/*保证进程不终止*/
return 0;
}

 代码来源:宋宝华 《Linux设备驱动开发详解》

 

最后

以上就是奋斗母鸡为你收集整理的使用信号实现异步通知的全部内容,希望文章能够帮你解决使用信号实现异步通知所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部