Provided by:
manpages-es_1.55-9_all 
NOMBRE
sigqueue - envía una señal y un bloque de datos a un proceso
SINOPSIS
#include <signal.h>
int sigqueue(pid_t pid, int sig, const union sigval value);
DESCRIPCIÓN
sigqueue() envía la señal especificada en sig al proceso cuyo
identificador de proceso es dado en pid. Los permisos requeridos para
enviar la señal son los mismos que para kill(2). Como pasa con
kill(2), la señal nula (0) puede emplearse para comprobar si existe un
proceso con un identificador de proceso dado.
El argumento value se utiliza para especificar un bloque de datos
acompañante (o bien un entero o un puntero) que se enviará con la
señal, y que tiene el siguiente tipo:
union sigval {
int sival_int;
void *sival_ptr;
};
Si el proceso receptor tiene un manejador instalado para esta señal
usando la opción SA_SIGINFO en la llamada a sigaction(2), puede obtener
los datos a través del campo si_value de la estructura siginfo_t pasada
como segundo argumento al manejador. Además, se asignará al campo
si_code de esta estructura el valor SI_QUEUE.
VALOR DEVUELTO
En caso de éxito, sigqueue() devuelve 0, indicando que la señal fue
ennviada satisfactoriamente al proceso receptor. En otro caso se
devuelve -1 y errno se modifica para indicar el error.
ERRORES
EAGAIN Se alcanzó el límite de señales que puede ser encolado. (Véase
signal(7) para más información.)
EINVAL sig es inválido.
ESRCH No hay ningún proceso cuyo identificador de proceso coincida con
pid.
EPERM El proceso no tiene permiso para enviar la señal al proceso
receptor. (Véase kill(2) para más información.)
OBSERVACIONES
Si esta función termina por enviar una señal al proceso que la invocó,
y esa señal no fue bloqueada por el hilo invocador, y no hay otros
hilos dispuestos a manejar esta señal (ya sea porque la tienen
desbloqueada o porque la esperan con sigwait(3)), entonces deberá
enviarse al menos alguna señal a este hilo antes de que esta función
regrese.
CONFORME A
POSIX 1003.1-2001
VÉASE TAMBIÉN
kill(2), sigaction(2), signal(2), sigwait(3), signal(7)