Доброго времени суток!
Пишу класс для демона, в функционал которого входит обработка различных сигналов, в частности SIGUSR1. Когда посылаю kill 10 PID, то демон штатно завершается, вместо того, чтобы этот сигнал обработать.
Вот кусок кода, ответственный за обработку этого сигнала:
for (;;)
        {
            // ждем указанных сообщений
            sigwait(&sigset, &signo);
            WriteLog("%s [MONITOR] Received signal: %d %d\n", getTime(), signo, SIGUSR1);//для проверки
            // если то сообщение обновления конфига
            if (signo == SIGUSR1)
            {
                // обновим конфиг
                status = ReloadConfig();
                if (status == 0)
                {
                    WriteLog("%s [DAEMON] Reload config failed\n", getTime());
                }
                else
                {
                    WriteLog("%s [DAEMON] Reload config OK\n", getTime());
                }
            }
            else // если какой-либо другой сигнал, то выйдем из цикла
            {
                break;
            }
        }В логе при этом следующий вывод: 17:58:42  [MONITOR] Received signal: 15 10 
Как так получается, что я посылаю 10 сигнал, а демон принимает 15?




