A. Función sigprocmask
Cada proceso dispone de una máscara de señales que le permite
definir qué señales se encuentran bloqueadas. Puede decirse que
esta máscara está formada por un conjunto de bits, cada uno de los
cuales se halla asociado a una posible señal. Si el bit tiene valor
1 para una determinada señal, por ejemplo, significa que dicha
señal está bloqueada. Para que la máscara represente todas las
señales, se utiliza un número entero sin signo; cada uno de sus
bits indica, según la posición que ocupa, el estado de cada
señal.
Existen varias funciones relacionadas con el establecimiento y la
comprobación de la máscara de señales de un proceso. Estas
funciones son sigsuspend, sigsetmask, sigblock, siggetmask y
sigmask. No analizaremos la sintaxis ni la utilidad de cada una
de ellas, ya que su funcionalidad se puede resumir en la función
sigprocmask, que es la que realmente se emplea en las
últimas versiones de Linux, pese a lo cual todas las demás también
pueden utilizarse a criterio del programador.
La función sigprocmask se emplea para modificar la lista de
señales bloqueadas en un momento dado. La sintaxis de la función
es:

donde el entero que retorna esta función es 0, cuando se ejecuta
con éxito, y -1, en caso de error.
El comportamiento de esta función es distinto según cuál sea el
valor de how:
- SIG_BLOCK: el conjunto de señales
bloqueadas es la unión del actual y el del argumento
set.
- SIG_UNBLOCK: las señales incluidas en set
se eliminan del conjunto de señales bloqueadas en la actualidad. Se
considera permitido el intento de desbloquear una señal que
no se halla bloqueada.
- SIG_SETMASK: el conjunto de señales
bloqueadas pasa a ser el contenido en el argumento
set.
Si el contenido del argumento oldset no es nulo, el valor
previo de la máscara de señales se almacena en oldset.
Mediante esta función se puede bloquear la señal SIGPIPE a
través de la llamada:

donde 8192 es el número entero que, en binario, posee un 1 en la
posición 13, siendo 13 el número entero asociado a SIGPIPE.
Es necesario recordar que existen dos señales que no es posible
bloquear: SIGKILL y SIGSTOP. Cualquier intento de bloqueo de
estas señales, simplemente, se ignorará.
Información de los programas con certificado
Hay 1 opinión. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Generadores de código Necesitamos construir proyectos en menor tiempo, con calidad y utilizando metodologias actuales, por eso te proponemos una serie de consejos, normas y cualidades de est... [24/01/06] |
|
2.288 | ||
|
Funciones en C (primera parte) Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08] |
|
3.077 | ||
|
Técnicas para el desarrollo de computación móvil (orientado a PDA) Uno de los nuevos paradigmas en el desarrollo de proyectos informáticos es la computación móvil (computación Ubicua). Aquí se verá todo lo que involucra la creación de un... [31/03/06] |
|
1.405 | ||
Publicar en
del.icio.us
digg
meneame