Función de la biblioteca C -sigdelset()
Biblioteca estándar de C - <signal.h>
Descripción
sigdelsetLa función es una función de la biblioteca estándar de C que se utiliza para eliminar una señal específica de un conjunto de señales. Esta función está definida en<signal.h>el archivo de cabecera.
Sintaxis
int sigdelset(sigset_t *set, int signo);
Parámetros
sigset_t *set: apunta a unsigset_tvariable de conjunto de señales de tipo.int signo: el número de señal que se va a eliminar del conjunto de señales.
Valor de retorno
- Devuelve 0 en caso de éxito.
- Devuelve -1 en caso de error y establece
errnopara indicar el tipo de error.
Ejemplo
A continuación se muestra un ejemplo de uso de lasigdelsetfunción para eliminar una señal específica de un conjunto de señales. El programa inicializa un conjunto de señales que contiene todas las señales y luego elimina laSIGINTseñal del conjunto y comprueba si el conjunto contiene laSIGINTseñal.
Ejemplo
#include <signal.h>
int main() {
sigset_t set;
// Inicializar el conjunto de señales, incluyendo todas las señales
if (sigfillset(&set) == -1) {
perror("sigfillset");
return 1;
}
// Eliminar SIGINT del conjunto de señales
if (sigdelset(&set, SIGINT) == -1) {
perror("sigdelset");
return 1;
}
// Comprobar si el conjunto de señales contiene SIGINT
if (sigismember(&set, SIGINT)) {
printf("SIGINT is in the set\n");
} else {
printf("SIGINT is not in the set\n");
}
return 0;
}
La posible salida del programa de ejemplo anterior es la siguiente:
SIGINT is not in the set
El programa inicializa un conjunto de señales que contiene todas las señales, luego elimina laSIGINTseñal del conjunto y comprueba si el conjunto contiene laSIGINTseñal. El resultado muestra que laSIGINTseñal ya no está en el conjunto de señales.
Explicación
sigset_t set;: define una variable de conjunto de señales.- Usa la
sigfillsetfunción para inicializar el conjunto de señales de modo que contenga todas las señales. - Usa la
sigdelsetfunción para eliminar laSIGINTseñal del conjunto. - Usa la
sigismemberfunción para comprobar si el conjunto de señales contiene laSIGINTseñal. - La salida muestra que la
SIGINTseñal se ha eliminado del conjunto de señales.
Notas
sigdelsetLa función se utiliza para eliminar una señal específica de un conjunto de señales.- Si el número de señal no es válido,
sigdelsetla función devolverá -1 y estableceráerrnopara indicar el tipo de error.