sigsuspend() - Unix,Linux系统调用
Tutorials Point


  Unix入门
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选读物

版权所有 © 2014 tutorialspoint



  首页     参考     讨论区     关于TP  

sigsuspend() - Unix,Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

sigsuspend - 等待信号

概要

#include <signal.h>

int sigsuspend(const sigset_t *mask);

描述

sigsuspend() 临时用mask给出的掩码替换调用进程的信号掩码,然后挂起进程,直到传递一个其动作是调用信号处理程序或终止进程的信号。

如果信号终止进程,则sigsuspend()不返回。如果捕获到信号,则在信号处理程序返回后,sigsuspend()返回,并且信号掩码恢复到调用sigsuspend()之前的状态。

不可能阻塞SIGKILL或SIGSTOP;在mask中指定这些信号不会影响进程的信号掩码。

返回值

sigsuspend()总是返回-1,通常带有错误EINTR

错误

标签描述
EFAULT mask指向的内存不是进程地址空间的有效部分。
EINTR 调用被信号中断。

备注

通常,sigsuspend()与sigprocmask()一起使用,以防止在执行关键代码段期间传递信号。调用者首先使用sigprocmask()阻塞信号。关键代码完成后,调用者通过使用sigprocmask()返回的信号掩码(在oldset参数中)调用sigsuspend()来等待信号。

有关操作信号集的详细信息,请参阅sigsetops(3)。

符合标准

POSIX.1-2001。

参见



previous next Printer Friendly

广告


  

广告



广告