1:添加信号 1.1 原型:sloop_handle sloop_register_signal(int sig, sloop_signal_handler handler, void * param) 这个函数提供给使用sloop模块的第三方,只需要传入要监听的信号、信号处理函数、参数,就可以将此 ...
分类:
其他好文 时间:
2017-07-03 12:19:25
阅读次数:
210
操作信号集: sigemptyset sigaddset 绑定信号处理函数: signal sigaction 屏蔽: sigprocmask 发送: sigqueue kill 获取: sigpending ...
分类:
系统相关 时间:
2017-06-25 19:33:10
阅读次数:
324
信号(Signal) 信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;Linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信 ...
分类:
系统相关 时间:
2017-06-13 16:53:29
阅读次数:
273
用linux C编程的时候,处理信号在所难免。在多线程编程中需要注意两个函数的使用,一个是pthread_sigmask(), 用来在线程中屏蔽某个信号;另一个是sigaction(),在线程中用来设置信号的处理方式。 void sig_handler1(int arg){ printf("thre ...
分类:
编程语言 时间:
2017-05-26 10:48:43
阅读次数:
173
用户空间调用recvfrom命令 直到数据包到达且被复制到应用进程的缓冲区或发生错误时才返回,这个过程中 进程亦或线程一直处于等待阻塞状态。 2.非阻塞IO模型 用户空间调用内核指令recvfrom后 如果内核空间缓冲区没有数据话EWOULDBLOCK 进程反复(轮询)调用recvfrom命令调用 ...
分类:
系统相关 时间:
2017-05-25 01:24:39
阅读次数:
195
NAME sigaction - examine and change a signal action SYNOPSIS #include <signal.h> int sigaction(int signum, const struct sigaction *act, struct sigacti ...
分类:
其他好文 时间:
2017-05-19 01:00:05
阅读次数:
325
早期ISO C提供了像这样的函数来支持自定义信号处理 但是由于标准库并不涉及系统层次,所以很多细节方面都是未定义的,比如在执行某信号(下文均以SIGINT为例)的处理器函数时,是否阻塞该信号? 给出一段代码(均忽略了对系统调用的错误处理) 这段代码的执行结果是未定义的,参考APUE,早期版本sign ...
分类:
其他好文 时间:
2017-04-14 22:00:08
阅读次数:
160
目录 前言 IO模型 网络编程模型 参考资料 前言 说到IO模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词。从词的表面上看,很多人都觉得很容易理解。但是细细一想,却总会发现有点摸不着头脑。自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了,然后很快又给搞混了。经历过这么几次之后,发现这东西必 ...
分类:
其他好文 时间:
2017-04-12 22:59:11
阅读次数:
235
目前linux中的signal()是通过sigation()函数实现的。 由signal()安装的实时信号支持排队,同样不会丢失。 先看signal 和 sigaction 的区别: 关键是 struct sigaction act; 里面有三个部分,除了 signal函数会关注的 sa_handl ...
分类:
其他好文 时间:
2017-03-05 19:32:09
阅读次数:
188
http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sigh ...