sigemptyset(3)
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=sigemptyset">sigemptyset</a>(3)

1장. sigemptyset(2)

½Ã±×³Î °ü·Ã Á¶ÀÛ


1.1. »ç¿ë¹ý

#include <signal.h>

int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set, int signum);
int sigdelset(sigset_t *set, int signum)
		


1.2. ¼³¸í

sigemptysetÇÔ¼ö´Â ÀÎÀÚ·Î ÁÖ¾îÁø ½Ã±×³Î ¼ÂÀÎ set ¿¡ Æ÷ÇԵǾî ÀÖ´Â ¸ðµç ½Ã±×³ÎÀ» ºñ¿î´Ù.

sigfillset´Â set¿¡ Æ÷ÇÔµÈ ¸ðµç ½Ã±×³ÎÀ» ä¿î´Ù.

sigaddset°ú sigdelset´Â set·Î ºÎÅÍ ½Ã±×³Î ¹øÈ£°¡ signumÀÎ ½Ã±×³ÎÀ» Ãß°¡Çϰųª »èÁ¦ÇÑ´Ù.


1.3. ¹Ýȯ°ª

¼º°øÇÒ °æ¿ì 0½ÇÆÐÇÒ °æ¿ì -1À» ¸®ÅÏÇÑ´Ù.


1.4. ¿¡·¯

EINVAL

À߸øµÈ ½Ã±×³Î ¹øÈ£¸¦ »ç¿ëÇß´Ù.


1.5. ¿¹Á¦

#include <signal.h> 
#include <unistd.h> 
#include <string.h> 
#include <stdio.h> 

void sig_int(int signo);
void sig_usr(int signo);

int main()
{
    int i = 0;
    struct sigaction intsig, usrsig;

    usrsig.sa_handler = sig_usr;
    sigemptyset(&usrsig.sa_mask);
    usrsig.sa_flags = 0;

    intsig.sa_handler = sig_int;
    sigemptyset(&intsig.sa_mask);
    intsig.sa_flags = 0;

    if (sigaction(SIGINT, &intsig, 0) == -1)
    {
        printf ("signal(SIGINT) error");
        return -1;
    }    

    if (sigaction(SIGUSR2, &usrsig, 0) == -1)
    {
        printf ("signal(SIGUSR2) error");
        return -1;
    }    

    while(1)
    {
        printf("%d\n", i);
        i++;
        sleep(1);
    }
}

void sig_int(int signo)
{
    sigset_t sigset, oldset;

    sigfillset(&sigset);
    if (sigprocmask(SIG_BLOCK, &sigset, &oldset) < 0)
    {
        printf("sigprocmask %d error \n", signo);
    }
    fprintf(stderr, "SIGINT !!!!\n");
    sleep(5);
}

void sig_usr(int signo)
{
    printf("sig_usr2\n");
}
		

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.