¿Cuántas señales se pueden poner en cola en un proceso que tiene todas las señales bloqueadas? ¿Qué pasa si lo uso sigqueue()
con más frecuencia que ese límite? ¿Esas señales no estarán en cola? ¿Recibiré un error?
Respuesta1
con ulimit
$ ulimit -a |grep signals
pending signals (-i) 62384
Con C simple
$ 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
Por supuesto, puede obtener un valor distinto de 62384, que es el que obtuve en mi sistema.