/
niceSOFT
/
inetutils
Обзор
Документация
Войти
/
niceSOFT
/
inetutils
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/waitdaemon.c
63 строки
2 KB
Simon Josefsson
maint: Run 'make update-copyright'
20 янв 2026, 11:50
Не верифицирован
20 янв 2026, 11:50
1ce61cd
Код
Авторство
О чём код?
/* waitdaemon -- Verify that waitdaemon() is functional. Copyright (C) 2010-2026 Free Software Foundation, Inc. This file is part of GNU Inetutils. GNU Inetutils is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Inetutils is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see `http://www.gnu.org/licenses/'. */ /* Verify that waitdaemon() in libinetutils.a is functional. This is needed by syslogd. */ #include <config.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <signal.h> #include <errno.h> #include <error.h> #include <progname.h> #include <libinetutils.h> #include <attribute.h> extern int waitdaemon (int nochdir, int noclose, int maxwait); void doexit (int signo MAYBE_UNUSED) { _exit (EXIT_SUCCESS); } int main (int argc MAYBE_UNUSED, char *argv[]) { pid_t ppid; set_program_name (argv[0]); signal (SIGTERM, doexit); /* Parent exits nicely at SIGTERM. */ ppid = waitdaemon (0, 0, 5); /* Five seconds of delay. */ /* Child should return here before parent. */ if (ppid > 0) kill (ppid, SIGTERM); /* Bless the parent process. */ /* Only grand child reaches this statement. */ return EXIT_FAILURE; }