File: sigqueue.2

package info (click to toggle)
manpages-es 1.55-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,472 kB
  • ctags: 6
  • sloc: sh: 1,349; makefile: 63
file content (116 lines) | stat: -rw-r--r-- 3,443 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
.\" Copyright (c) 2002 Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" added note on self-signalling, aeb, 2002-06-07
.\"
.\" Traducido por Miguel Pérez Ibars <mpi79470@alu.um.es> el 5-julio-2004
.\"
.TH SIGQUEUE 2 "7 junio 2002" "Linux 2.4.18" "Manual del Programador de Linux"
.SH NOMBRE
sigqueue \- envía una señal y un bloque de datos a un proceso
.SH SINOPSIS
.B #include <signal.h>
.sp
.BI "int sigqueue(pid_t " pid ", int " sig ", const union sigval " value ");
.SH DESCRIPCIÓN
.BR sigqueue ()
envía la señal especificada en
.I sig
al proceso cuyo identificador de proceso es dado en
.IR pid .
Los permisos requeridos para enviar la señal son los mismos que para
.BR kill (2).
Como pasa con
.BR kill (2),
la señal nula (0) puede emplearse para comprobar si existe un proceso
con un identificador de proceso dado.
.PP
El argumento
.I 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:
.sp
.in +2n
.nf
union sigval {
    int   sival_int;
    void *sival_ptr;
};
.fi
.in -2n

Si el proceso receptor tiene un manejador instalado para esta señal usando la opción
.B SA_SIGINFO
en la llamada a
.BR sigaction (2),
puede obtener los datos a través del campo
.I si_value
de la estructura
.I siginfo_t
pasada como segundo argumento al manejador.
Además, se asignará al campo
.I si_code
de esta estructura el valor
.BR SI_QUEUE .
.SH "VALOR DEVUELTO"
En caso de éxito, 
.BR sigqueue ()
devuelve 0, indicando que la señal fue ennviada satisfactoriamente
al proceso receptor.
En otro caso se devuelve \-1 y
.I errno
se modifica para indicar el error.
.SH ERRORES
.TP
.B EAGAIN
Se alcanzó el límite de señales que puede ser encolado.
(Véase
.BR signal (7)
para más información.)
.TP
.B EINVAL
.I sig
es inválido.
.TP
.B ESRCH
No hay ningún proceso cuyo identificador de proceso coincida con
.IR pid .
.TP
.B EPERM
El proceso no tiene permiso para enviar la señal
al proceso receptor.
(Véase
.BR kill (2)
para más información.)
.SH 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
.BR sigwait (3)),
entonces deberá enviarse al menos alguna señal a este hilo antes de que
esta función regrese.
.SH "CONFORME A"
POSIX 1003.1-2001
.SH "VÉASE TAMBIÉN"
.BR kill (2),
.BR sigaction (2),
.BR signal (2),
.BR sigwait (3),
.BR signal (7)