aboutsummaryrefslogtreecommitdiff
path: root/src/rc
AgeCommit message (Collapse)Author
2018-12-18Add debug logging to start-stop-daemon and rc-supervisorWilliam Hubbs
This will make it easier to track down why the supervisor intermittently hangs after it runs for a long time.
2018-12-06supervise-daemon: fix busy loopWilliam Hubbs
This fixes #264.
2018-12-04supervise-daemon: redirect std{in,out,err} to /dev/null after demonizingAlexander Zubkov
This fixes #239.
2018-12-03src/rc/supervise-daemon.c: fix style issueAustin English
This is for #263.
2018-12-03rc-status: show status for supervised services instead of a listWilliam Hubbs
2018-12-03supervise-daemon: use a default pid file if one is not specifiedWilliam Hubbs
Since the pid file is internal to us, start moving toward deprecating it by not requiring the user to specify it. In the next release, I plan on working on code to start phasing out the use of a pid file if this is possible.
2018-12-02rc-status: add --supervised option to show supervised servicesWilliam Hubbs
2018-12-02rc-status: show failed services as failedWilliam Hubbs
2018-12-02supervise-daemon: mark a service failed if it respawns too many timesWilliam Hubbs
2018-12-02supervise-daemon: make respawn-max and respawn-period independent settingsWilliam Hubbs
2018-12-02supervise-daemon: add support for a fifoWilliam Hubbs
This will allow us to signal the daemon we are supervising as well as send other commands to the supervisor in the future. This fixes #227.
2018-12-02supervise-daemon: rework signal handling and main loopWilliam Hubbs
This is needed in preparation for adding support for a fifo to allow us to communicate with the supervisor to ask it to signal the child it is supervising.
2018-12-02Revert "checkpath: use O_PATH when available"William Hubbs
This reverts commit 2af0cedd5952d7da71681b7a636dff3540e4295d. After speaking with Luis Ressel on the Gentoo selinux team, I am reverting this commit for the following reasons: - Luis told me that he feels this is not the solution we need to address the concern with checkpath; I will be working with him on another solution. - There are concerns about the way the path variable was handled and the assert() call. The path variable should be dynamically allocated using xasprintf instead of defining a length at compile time. This would eliminate the need for the assert() call. - It introduces the definition of _GNU_SOURCE which makes it easier to introduce portability concerns in the future (see #262).
2018-12-01checkpath: use O_PATH when availableMike Gilbert
This avoids opening directories/files with read permission, which is sometimes rejected by selinux policy. Bug: https://bugs.gentoo.org/667122
2018-11-28supervise-daemon: fix type of exiting flagWilliam Hubbs
2018-11-27src/rc/openrc-shutdown.c: fix styleAustin English
2018-11-27fix misc whitespace issuesAustin English
2018-11-15supervise-daemon: make the pidfile an implementation detailWilliam Hubbs
The pidfile of the supervisor doesn't need to be adjustable by the service script. It is only used so the supervisor can stop itself when the --stop option is used.
2018-11-15Do not complain if interrupted by a signalWilliam Hubbs
In start-stop-daemon and rc-schedules, we were printing out a warning if the nanosleep call was interrupted by a signal, but we did not treat this as an error situation other than displaying the message, so there is no need for the message.
2018-11-05supervise-daemon: reap zombiesWilliam Hubbs
We need to make sure to reap zombies so that we can shut down successfully. Fixes #252. Possibly related to #250.
2018-11-05rc-service: fix help outputWilliam Hubbs
2018-11-02openrc-init: add SELinux supportWilliam Hubbs
This is for #173.
2018-10-24openrc-shutdown: do not require a time for -w switchWilliam Hubbs
X-Gentoo-Bug: 669500 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=669500
2018-10-23supervise-daemon: add health checksWilliam Hubbs
Health checks are a way to monitor a service and make sure it stays healthy. If a service is not healthy, it will be automatically restarted after running the unhealthy() function to clean up.
2018-10-18openrc-shutdown: Add scheduled shutdown and the ability to cancel a shutdownWilliam Hubbs
You can now schedule a shutdown for a certain time or a cpecific number of minutes into the future. When a shutdown is running, you can now cancel it with ^c from the keyboard or by running "openrc-shutdown -c" from another shell.
2018-10-15supervise-daemon: fix respawn_max off by oneZac Medico
Fix the comparison between respawn_count and respawn_max so that respawn_max = 1 will allow for one respawn. Since respawn_count is incremented before the comparison, use a 'greater than' comparison so that respawn will be triggered when respawn_count is equal to respawn_max. Fixes: https://github.com/OpenRC/openrc/issues/247 Fixes: https://github.com/OpenRC/openrc/issues/248
2018-10-13misc: style fixupsAustin English
2018-10-13misc: whitespace fixesAustin English
2018-10-09Complete implementation of forever timeout value in stop schedulesWilliam Hubbs
2018-10-06supervise-daemon: use nanosleep() instead of sleep()William Hubbs
We will be using sigalrm in this process for health checking, and sigalrm cannot be used with sleep() safely.
2018-10-06openrc-init: convert sleep() call to nanosleep()William Hubbs
Nanosleep is the safer call to use in case we need to use alarms eventually.
2018-06-29rc-status: initialize uptime pointer to prevent memory corruptionHolger Hoffstätte
This fixes #231.
2018-06-27supervise-daemon.c: clean up memory leaksWilliam Hubbs
2018-06-20openrc: convert snprintf calls to xasprintfWilliam Hubbs
2018-06-19supervise-daemon: convert snprintf calls to xasprintfWilliam Hubbs
2018-06-19start-stop-daemon: convert snprintf calls to xasprintfWilliam Hubbs
2018-06-19rc-status: convert snprintf calls to xasprintfWilliam Hubbs
2018-06-19rc-status: fix gcc 7 warningsWilliam Hubbs
2018-06-19start-stop-daemon: fix gcc 7 warningsWilliam Hubbs
2018-06-19checkpath: fix gcc 7 warningsWilliam Hubbs
2018-06-19fix gcc 7 warnings in pipe routinesWilliam Hubbs
2018-06-15start-stop-daemon: add ability to log stdout or stderr to processesWilliam Hubbs
2018-06-14fix a typoWilliam Hubbs
2018-06-13Add helper to spawn process with stdin connected to a pipeMike Gilbert
2018-05-22Logger: only log printable characters and newlinesWilliam Hubbs
X-Gentoo-Bug: 651412 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=651412
2018-05-22Add mark_service_crashed binaryWilliam Hubbs
2018-05-22rc-misc: add the crashed stateWilliam Hubbs
2018-05-18Remove the _rc_can_find_pids functionWilliam Hubbs
This test to find if we could see pid 1 was being used inconsistently in rc-status and mark_service_crashed to decide whether we could test to see if the daemon for the service was crashed, and it was not part of the librc library. I am removing it from the executables because of inconsistent usage. I will add it to the library if it is needed there.
2018-05-16rc-service: add --ifstarted and --ifstopped optionsWilliam Hubbs
2018-05-15rc-service: add -d/--debug and -D/--nodeps optionsWilliam Hubbs