O que é a profundidade da fila de sinal no Linux?

4

Quantos sinais podem ser enfileirados em um processo que tem todos os sinais bloqueados? E se eu usar sigqueue() com mais frequência do que esse limite? Esses sinais não serão enfileirados? Vou receber um erro?

    
por Kouros 05.11.2015 / 17:20

1 resposta

5

com ulimit

$ ulimit -a |grep signals 
  pending signals                 (-i) 62384

Com C simples

$ cat<<EOF > siglimit.c
#include <stdio.h>
#include <unistd.h>
int main() { printf("%ld\n", sysconf( _SC_SIGQUEUE_MAX)); return 0; }
EOF
$ gcc siglimit.c && ./a.out
62384

Você pode, é claro, obter um valor diferente de 62384, que é o que obtive no meu sistema.

    
por 06.11.2015 / 02:55

Tags