据我所知,OS X不支持实时信号。
我想知道信号是否可能在OS X中排队。
例如,如果我快速提供给应用程序发送SIGUSR2 10次,我保证会对信号处理程序进行10次调用,或者是否可能会丢弃其中一些?
答案 0 :(得分:2)
信号可以被丢弃。进程的待处理信号记录在位掩码中。如果相同的信号在进程可以处理之前多次到达(包括因为该信号被阻止,包括因为进程当前正在处理该信号),那么它将仅在掩码中设置已经设置的位。没有队列。没有统计数据。
在kernel source中搜索_siglist
({1}}和uu_siglist
的子字符串,一个用于进程的另一个用于进程的字符串。