parent
f81bb7e2c4
commit
3054046e18
2
NEWS.md
2
NEWS.md
@ -110,7 +110,7 @@ using modules-load in your dependencies.
|
|||||||
|
|
||||||
The consolefont, keymaps, numlock and procfs service scripts no longer
|
The consolefont, keymaps, numlock and procfs service scripts no longer
|
||||||
have a dependency on localmount.
|
have a dependency on localmount.
|
||||||
If you are a linux user and are still separaating / from /usr,
|
If you are a linux user and are still separating / from /usr,
|
||||||
you will need to add the following line to the appropriate conf.d files:
|
you will need to add the following line to the appropriate conf.d files:
|
||||||
|
|
||||||
rc_need="localmount"
|
rc_need="localmount"
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# We can also specify the passno in /etc/fstab to check
|
# We can also specify the passno in /etc/fstab to check
|
||||||
# If you multiplex fsck (ie ln -s fsck /etc/init.d/fsck.late) then you can
|
# If you multiplex fsck (ie ln -s fsck /etc/init.d/fsck.late) then you can
|
||||||
# do an fsck outside of the normal scope, say for /home.
|
# do an fsck outside of the normal scope, say for /home.
|
||||||
# Here are some exampes:-
|
# Here are some examples:-
|
||||||
#fsck_passno="=1 =2"
|
#fsck_passno="=1 =2"
|
||||||
#fsck_passno=">1"
|
#fsck_passno=">1"
|
||||||
#fsck_passno="<2"
|
#fsck_passno="<2"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# ipfw provides a stateful firewall.
|
# ipfw provides a stateful firewall.
|
||||||
# This means we allow everything out, and if we have a connection we allow it
|
# This means we allow everything out, and if we have a connection we allow it
|
||||||
# back in. This is very flexable and quite secure.
|
# back in. This is very flexible and quite secure.
|
||||||
|
|
||||||
# For ease of use, we allow auth and ssh ports through as well.
|
# For ease of use, we allow auth and ssh ports through as well.
|
||||||
# To override the list of allowed ports
|
# To override the list of allowed ports
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Assign static IP addresses and run custom scripts per interface.
|
# Assign static IP addresses and run custom scripts per interface.
|
||||||
# Seperate commands with ;
|
# Separate commands with ;
|
||||||
# Prefix with ! to run a shell script.
|
# Prefix with ! to run a shell script.
|
||||||
# Use \$int to represent the interface
|
# Use \$int to represent the interface
|
||||||
#ifconfig_eth0="192.168.0.10 netmask 255.255.255.0"
|
#ifconfig_eth0="192.168.0.10 netmask 255.255.255.0"
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
powerd_ac_mode="maximum"
|
powerd_ac_mode="maximum"
|
||||||
#powerd_battery_mode="minimum"
|
#powerd_battery_mode="minimum"
|
||||||
|
|
||||||
# Addiditonal arguments for powerd - see the man page for details
|
# Additional arguments for powerd - see the man page for details
|
||||||
powerd_args=""
|
powerd_args=""
|
||||||
|
@ -26,7 +26,7 @@ getmedia() {
|
|||||||
if [ ! -e /etc/init.d/"$1" -a ! -e /usr/local/init.d/"$1" ]; then
|
if [ ! -e /etc/init.d/"$1" -a ! -e /usr/local/init.d/"$1" ]; then
|
||||||
base=${1%%.*}
|
base=${1%%.*}
|
||||||
if [ "${base}" = "net" ]; then
|
if [ "${base}" = "net" ]; then
|
||||||
# We only create links for pyhsical interfaces
|
# We only create links for physical interfaces
|
||||||
[ -n "$(getmedia ${1#*.})" ] || exit 1
|
[ -n "$(getmedia ${1#*.})" ] || exit 1
|
||||||
base="net.lo0"
|
base="net.lo0"
|
||||||
fi
|
fi
|
||||||
|
@ -106,7 +106,7 @@ start()
|
|||||||
_abort
|
_abort
|
||||||
fi;;
|
fi;;
|
||||||
4) if [ "$RC_UNAME" = Linux ]; then
|
4) if [ "$RC_UNAME" = Linux ]; then
|
||||||
ewend 1 "Fileystem errors left uncorrected, aborting"
|
ewend 1 "Filesystem errors left uncorrected, aborting"
|
||||||
_abort
|
_abort
|
||||||
else
|
else
|
||||||
ewend 1 "Filesystems repaired, but reboot needed"
|
ewend 1 "Filesystems repaired, but reboot needed"
|
||||||
|
@ -122,7 +122,7 @@ start() {
|
|||||||
ipfw add deny { tcp or udp } from any to any $p in
|
ipfw add deny { tcp or udp } from any to any $p in
|
||||||
done
|
done
|
||||||
|
|
||||||
# Broadcasts and muticasts
|
# Broadcasts and multicasts
|
||||||
ipfw add deny ip from any to 255.255.255.255
|
ipfw add deny ip from any to 255.255.255.255
|
||||||
ipfw add deny ip from any to 224.0.0.0/24
|
ipfw add deny ip from any to 224.0.0.0/24
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
description="Re-mount filesytems read-only for a clean reboot."
|
description="Re-mount filesystems read-only for a clean reboot."
|
||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ Stop all services, kill all processes and reboot the system.
|
|||||||
.It Fl s , -single
|
.It Fl s , -single
|
||||||
Stop all services, kill all processes and move to single user mode.
|
Stop all services, kill all processes and move to single user mode.
|
||||||
.It Fl w , -write-only
|
.It Fl w , -write-only
|
||||||
Wrrite a wtmp shutdown record and do nothing else.
|
Write a wtmp shutdown record and do nothing else.
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr openrc-init 8 ,
|
.Xr openrc-init 8 ,
|
||||||
|
@ -20,7 +20,7 @@ info
|
|||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Nm
|
.Nm
|
||||||
gathers and displays information about the status of services supervised
|
gathers and displays information about the status of services supervised
|
||||||
by s6 then runs rc-status to show info about nnormal OpenRC services.
|
by s6 then runs rc-status to show info about normal OpenRC services.
|
||||||
.Pp
|
.Pp
|
||||||
.Sh EXIT STATUS
|
.Sh EXIT STATUS
|
||||||
.Nm
|
.Nm
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
OpenRC uses named runlevels. Rather than editing some obscure
|
OpenRC uses named runlevels. Rather than editing some obscure
|
||||||
file or managing a directory of symlinks,
|
file or managing a directory of symlinks,
|
||||||
.Nm
|
.Nm
|
||||||
exists to quickly add or delete services to and from from different runlevels.
|
exists to quickly add or delete services to and from different runlevels.
|
||||||
All services must reside in the
|
All services must reside in the
|
||||||
.Pa /etc/init.d
|
.Pa /etc/init.d
|
||||||
or
|
or
|
||||||
|
@ -31,7 +31,7 @@ returns RC_PIDLIST, a structure based on the LIST macro from
|
|||||||
which contains all the pids found matching the given criteria.
|
which contains all the pids found matching the given criteria.
|
||||||
If
|
If
|
||||||
.Fa pid
|
.Fa pid
|
||||||
is given then only that pid is returned if it is running. Otherise we check
|
is given then only that pid is returned if it is running. Otherwise we check
|
||||||
all instances of
|
all instances of
|
||||||
.Fa argv
|
.Fa argv
|
||||||
with a process name of
|
with a process name of
|
||||||
|
@ -145,7 +145,7 @@ When
|
|||||||
.Fa service
|
.Fa service
|
||||||
starts, it starts
|
starts, it starts
|
||||||
.Fa service_to_start
|
.Fa service_to_start
|
||||||
afterswards as directed by
|
afterwards as directed by
|
||||||
.Fn rc_service_schedule_start .
|
.Fn rc_service_schedule_start .
|
||||||
.Fn rc_services_scheduled
|
.Fn rc_services_scheduled
|
||||||
returns a list of services that will be started when
|
returns a list of services that will be started when
|
||||||
|
@ -193,7 +193,7 @@ If respawn-delay, respawn-max and respawn-period are not set correctly,
|
|||||||
it is possible to trigger a situation in which the supervisor will
|
it is possible to trigger a situation in which the supervisor will
|
||||||
infinitely try to respawn a daemon. To avoid this, if you change the
|
infinitely try to respawn a daemon. To avoid this, if you change the
|
||||||
values of --respawn-delay, --respawn-max or --respawn-period, always
|
values of --respawn-delay, --respawn-max or --respawn-period, always
|
||||||
make sure the settings mmake sense. For example, a respawn period of 5
|
make sure the settings make sense. For example, a respawn period of 5
|
||||||
seconds with a respawn max of 10 and a respawn delay of 1 second leads
|
seconds with a respawn max of 10 and a respawn delay of 1 second leads
|
||||||
to infinite respawning since there can never be 10 respawns within 5
|
to infinite respawning since there can never be 10 respawns within 5
|
||||||
seconds.
|
seconds.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* checkpath.c
|
* checkpath.c
|
||||||
* Checks for the existance of a file or directory and creates it
|
* Checks for the existence of a file or directory and creates it
|
||||||
* if necessary. It can also correct its ownership.
|
* if necessary. It can also correct its ownership.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ const char * const longopts_help[] = {
|
|||||||
"Create a named pipe (FIFO) if not exists",
|
"Create a named pipe (FIFO) if not exists",
|
||||||
"Mode to check",
|
"Mode to check",
|
||||||
"Owner to check (user:group)",
|
"Owner to check (user:group)",
|
||||||
"follow symbolic links (irrelivent on linux)",
|
"follow symbolic links (irrelevant on linux)",
|
||||||
"Check whether the path is writable or not",
|
"Check whether the path is writable or not",
|
||||||
longopts_help_COMMON
|
longopts_help_COMMON
|
||||||
};
|
};
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "einfo.h"
|
#include "einfo.h"
|
||||||
#include "helpers.h"
|
#include "helpers.h"
|
||||||
|
|
||||||
/* usecs to wait while we poll the file existance */
|
/* usecs to wait while we poll the file existence */
|
||||||
#define WAIT_INTERVAL 20000000
|
#define WAIT_INTERVAL 20000000
|
||||||
|
|
||||||
const char *applet = NULL;
|
const char *applet = NULL;
|
||||||
|
@ -75,7 +75,7 @@ const struct option longopts[] = {
|
|||||||
longopts_COMMON
|
longopts_COMMON
|
||||||
};
|
};
|
||||||
const char * const longopts_help[] = {
|
const char * const longopts_help[] = {
|
||||||
"Mounts the filesytem from the mountpoint",
|
"Mounts the filesystem from the mountpoint",
|
||||||
"Remounts the filesystem based on the information in fstab",
|
"Remounts the filesystem based on the information in fstab",
|
||||||
"Extract the block device",
|
"Extract the block device",
|
||||||
"Show arguments needed to mount the entry",
|
"Show arguments needed to mount the entry",
|
||||||
|
@ -108,7 +108,7 @@ int ebegin(const char * EINFO_RESTRICT, ...) EINFO_PRINTF(1, 2);
|
|||||||
* eend places [ ok ] or [ !! ] at the end of the terminal line depending on
|
* eend places [ ok ] or [ !! ] at the end of the terminal line depending on
|
||||||
* retval (0 or ok, anything else for !!)
|
* retval (0 or ok, anything else for !!)
|
||||||
*
|
*
|
||||||
* ebracket allows you to specifiy the position, color and message */
|
* ebracket allows you to specify the position, color and message */
|
||||||
/*@{*/
|
/*@{*/
|
||||||
int eend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
int eend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
||||||
int ewend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
int ewend(int, const char * EINFO_RESTRICT, ...) EINFO_PRINTF(2, 3);
|
||||||
|
@ -186,7 +186,7 @@ rc_config_list(const char *file)
|
|||||||
if (token && (strlen(token) > 1)) {
|
if (token && (strlen(token) > 1)) {
|
||||||
/* If not variable assignment then skip */
|
/* If not variable assignment then skip */
|
||||||
if (strchr(token, '=')) {
|
if (strchr(token, '=')) {
|
||||||
/* Stip the newline if present */
|
/* Strip the newline if present */
|
||||||
if (token[strlen(token) - 1] == '\n')
|
if (token[strlen(token) - 1] == '\n')
|
||||||
token[strlen(token) - 1] = 0;
|
token[strlen(token) - 1] = 0;
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ bool rc_service_add(const char *, const char *);
|
|||||||
/*! Remove the service from the runlevel
|
/*! Remove the service from the runlevel
|
||||||
* @param runlevel to remove from
|
* @param runlevel to remove from
|
||||||
* @param service to remove
|
* @param service to remove
|
||||||
* @return true if sucessful, otherwise false */
|
* @return true if successful, otherwise false */
|
||||||
bool rc_service_delete(const char *, const char *);
|
bool rc_service_delete(const char *, const char *);
|
||||||
|
|
||||||
/*! Save the arguments to find a running daemon
|
/*! Save the arguments to find a running daemon
|
||||||
@ -304,7 +304,7 @@ RC_STRINGLIST *rc_services_in_runlevel_stacked(const char *);
|
|||||||
* @return NULL terminated list of services */
|
* @return NULL terminated list of services */
|
||||||
RC_STRINGLIST *rc_services_in_state(RC_SERVICE);
|
RC_STRINGLIST *rc_services_in_state(RC_SERVICE);
|
||||||
|
|
||||||
/*! List the services shceduled to start when this one does
|
/*! List the services scheduled to start when this one does
|
||||||
* @param service to check
|
* @param service to check
|
||||||
* @return NULL terminated list of services */
|
* @return NULL terminated list of services */
|
||||||
RC_STRINGLIST *rc_services_scheduled(const char *);
|
RC_STRINGLIST *rc_services_scheduled(const char *);
|
||||||
@ -450,9 +450,9 @@ RC_STRINGLIST *rc_deptree_depend(const RC_DEPTREE *, const char *, const char *)
|
|||||||
RC_STRINGLIST *rc_deptree_depends(const RC_DEPTREE *, const RC_STRINGLIST *,
|
RC_STRINGLIST *rc_deptree_depends(const RC_DEPTREE *, const RC_STRINGLIST *,
|
||||||
const RC_STRINGLIST *, const char *, int);
|
const RC_STRINGLIST *, const char *, int);
|
||||||
|
|
||||||
/*! List all the services that should be stoppned and then started, in order,
|
/*! List all the services that should be stopped and then started, in order,
|
||||||
* for the given runlevel, including sysinit and boot services where
|
* for the given runlevel, including sysinit and boot services where
|
||||||
* approriate.
|
* appropriate.
|
||||||
* @param deptree to search
|
* @param deptree to search
|
||||||
* @param runlevel to change into
|
* @param runlevel to change into
|
||||||
* @param options to pass
|
* @param options to pass
|
||||||
@ -528,7 +528,7 @@ bool rc_yesno(const char *);
|
|||||||
/*! @name String List functions
|
/*! @name String List functions
|
||||||
* Every string list should be released with a call to rc_stringlist_free. */
|
* Every string list should be released with a call to rc_stringlist_free. */
|
||||||
|
|
||||||
/*! Create a new stringlinst
|
/*! Create a new stringlist
|
||||||
* @return pointer to new list */
|
* @return pointer to new list */
|
||||||
RC_STRINGLIST *rc_stringlist_new(void);
|
RC_STRINGLIST *rc_stringlist_new(void);
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ svc_exec(const char *arg1, const char *arg2)
|
|||||||
* We do this instead of mapping pipes to stdout, stderr so that
|
* We do this instead of mapping pipes to stdout, stderr so that
|
||||||
* programs can tell if they're attached to a tty or not.
|
* programs can tell if they're attached to a tty or not.
|
||||||
* The only loss is that we can no longer tell the difference
|
* The only loss is that we can no longer tell the difference
|
||||||
* between the childs stdout or stderr */
|
* between the child's stdout or stderr */
|
||||||
master_tty = slave_tty = -1;
|
master_tty = slave_tty = -1;
|
||||||
if (prefix && isatty(fdout)) {
|
if (prefix && isatty(fdout)) {
|
||||||
tcgetattr(fdout, &tt);
|
tcgetattr(fdout, &tt);
|
||||||
@ -1045,7 +1045,7 @@ svc_stop(void)
|
|||||||
static void
|
static void
|
||||||
svc_restart(void)
|
svc_restart(void)
|
||||||
{
|
{
|
||||||
/* This is hairly and a better way needs to be found I think!
|
/* This is hairy and a better way needs to be found I think!
|
||||||
* The issue is this - openvpn need net and dns. net can restart
|
* The issue is this - openvpn need net and dns. net can restart
|
||||||
* dns via resolvconf, so you could have openvpn trying to restart
|
* dns via resolvconf, so you could have openvpn trying to restart
|
||||||
* dnsmasq which in turn is waiting on net which in turn is waiting
|
* dnsmasq which in turn is waiting on net which in turn is waiting
|
||||||
|
@ -50,7 +50,7 @@ struct init_request_bsd {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Because of legacy interfaces, "runlevel" and "sleeptime"
|
* Because of legacy interfaces, "runlevel" and "sleeptime"
|
||||||
* aren't in a seperate struct in the union.
|
* aren't in a separate struct in the union.
|
||||||
*
|
*
|
||||||
* The weird sizes are because init expects the whole
|
* The weird sizes are because init expects the whole
|
||||||
* struct to be 384 bytes.
|
* struct to be 384 bytes.
|
||||||
|
@ -562,7 +562,7 @@ do_stop_services(RC_STRINGLIST *types_nw, RC_STRINGLIST *start_services,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the service has crashed, skip futher checks and just stop
|
/* If the service has crashed, skip further checks and just stop
|
||||||
it */
|
it */
|
||||||
if (crashed &&
|
if (crashed &&
|
||||||
rc_service_daemons_crashed(service->value))
|
rc_service_daemons_crashed(service->value))
|
||||||
@ -584,7 +584,7 @@ do_stop_services(RC_STRINGLIST *types_nw, RC_STRINGLIST *start_services,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We got this far. Last check is to see if any any service
|
/* We got this far. Last check is to see if any service
|
||||||
* that going to be started depends on us */
|
* that going to be started depends on us */
|
||||||
if (!svc1) {
|
if (!svc1) {
|
||||||
tmplist = rc_stringlist_new();
|
tmplist = rc_stringlist_new();
|
||||||
@ -877,7 +877,7 @@ int main(int argc, char **argv)
|
|||||||
setenv("RC_RUNLEVEL", newlevel, 1);
|
setenv("RC_RUNLEVEL", newlevel, 1);
|
||||||
setenv("RC_GOINGDOWN", "YES", 1);
|
setenv("RC_GOINGDOWN", "YES", 1);
|
||||||
} else {
|
} else {
|
||||||
/* We should not use krunevel in sysinit or boot runlevels */
|
/* We should not use krunlevel in sysinit or boot runlevels */
|
||||||
if (!newlevel ||
|
if (!newlevel ||
|
||||||
(strcmp(newlevel, RC_LEVEL_SYSINIT) != 0 &&
|
(strcmp(newlevel, RC_LEVEL_SYSINIT) != 0 &&
|
||||||
strcmp(newlevel, getenv("RC_BOOTLEVEL")) != 0))
|
strcmp(newlevel, getenv("RC_BOOTLEVEL")) != 0))
|
||||||
@ -913,7 +913,7 @@ int main(int argc, char **argv)
|
|||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
/* FIXME: we shouldn't have todo this */
|
/* FIXME: we shouldn't have todo this */
|
||||||
/* For some reason, wait_for_services waits for the logger
|
/* For some reason, wait_for_services waits for the logger
|
||||||
* proccess to finish as well, but only on FreeBSD.
|
* process to finish as well, but only on FreeBSD.
|
||||||
* We cannot allow this so we stop logging now. */
|
* We cannot allow this so we stop logging now. */
|
||||||
rc_logger_close();
|
rc_logger_close();
|
||||||
#endif
|
#endif
|
||||||
|
@ -64,7 +64,7 @@ if [ -z $TERM -o $TERM = "dumb" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Gather list of candidate services s6-supervise may be supervising
|
# Gather list of candidate services s6-supervise may be supervising
|
||||||
# filter for folders and symlinks at /run/openrc/s6-scan/* ommiting output starting with '.'
|
# filter for folders and symlinks at /run/openrc/s6-scan/* omitting output starting with '.'
|
||||||
services="$(find $scandir -maxdepth 1 -mindepth 1 \( -type d -or -type l \) | awk -F'/' '{ if ( $NF !~ "^\\." ) print $NF}')"
|
services="$(find $scandir -maxdepth 1 -mindepth 1 \( -type d -or -type l \) | awk -F'/' '{ if ( $NF !~ "^\\." ) print $NF}')"
|
||||||
if [ -z "$services" ]; then
|
if [ -z "$services" ]; then
|
||||||
printf "s6 found no services configured for supervision\n"
|
printf "s6 found no services configured for supervision\n"
|
||||||
@ -72,7 +72,7 @@ if [ -z "$services" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Gather status for each service from s6-svstat
|
# Gather status for each service from s6-svstat
|
||||||
# write to tmp file in memory for non I/O bound repeatative access
|
# write to tmp file in memory for non I/O bound repetitive access
|
||||||
rm -f $statfile 2>/dev/null
|
rm -f $statfile 2>/dev/null
|
||||||
for service in $services ; do
|
for service in $services ; do
|
||||||
echo "$service $(s6-svstat ${scandir}/${service})" >> $statfile
|
echo "$service $(s6-svstat ${scandir}/${service})" >> $statfile
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#ifndef __LIBRC_PLUGIN_H__
|
#ifndef __LIBRC_PLUGIN_H__
|
||||||
#define __LIBRC_PLUGIN_H__
|
#define __LIBRC_PLUGIN_H__
|
||||||
|
|
||||||
/* A simple flag to say if we're in a plugin proccess or not.
|
/* A simple flag to say if we're in a plugin process or not.
|
||||||
* Mainly used in atexit code. */
|
* Mainly used in atexit code. */
|
||||||
extern bool rc_in_plugin;
|
extern bool rc_in_plugin;
|
||||||
|
|
||||||
|
@ -664,7 +664,7 @@ struct { \
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* __launder_type(): We use this ugly hack to work around the the compiler
|
* __launder_type(): We use this ugly hack to work around the compiler
|
||||||
* noticing that two types may not alias each other and elide tests in code.
|
* noticing that two types may not alias each other and elide tests in code.
|
||||||
* We hit this in the CIRCLEQ macros when comparing 'struct name *' and
|
* We hit this in the CIRCLEQ macros when comparing 'struct name *' and
|
||||||
* 'struct type *' (see CIRCLEQ_HEAD()). Modern compilers (such as GCC
|
* 'struct type *' (see CIRCLEQ_HEAD()). Modern compilers (such as GCC
|
||||||
@ -675,7 +675,7 @@ struct { \
|
|||||||
* Do not use for assignment.
|
* Do not use for assignment.
|
||||||
*
|
*
|
||||||
* If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
|
* If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
|
||||||
* this by changing the head/tail sentinal values, but see the note above
|
* this by changing the head/tail sentinel values, but see the note above
|
||||||
* this one.
|
* this one.
|
||||||
*/
|
*/
|
||||||
static __inline const void * __launder_type(const void *);
|
static __inline const void * __launder_type(const void *);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* supervise-daemon
|
* supervise-daemon
|
||||||
* This is a supervisor for daemons.
|
* This is a supervisor for daemons.
|
||||||
* It will start a deamon and make sure it restarts if it crashes.
|
* It will start a daemon and make sure it restarts if it crashes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -13,7 +13,7 @@ The following is a brief guide on using this capability.
|
|||||||
functions.
|
functions.
|
||||||
|
|
||||||
* Daemons must not fork
|
* Daemons must not fork
|
||||||
Any deamon that you would like to have monitored by supervise-daemon
|
Any daemon that you would like to have monitored by supervise-daemon
|
||||||
must not fork. Instead, it must stay in the foreground. If the daemon
|
must not fork. Instead, it must stay in the foreground. If the daemon
|
||||||
forks, the supervisor will be unable to monitor it.
|
forks, the supervisor will be unable to monitor it.
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
# we're using a decent dns cache/forwarder like dnsmasq and NOT nscd/libc.
|
# we're using a decent dns cache/forwarder like dnsmasq and NOT nscd/libc.
|
||||||
# nscd/libc users will get the VPN nameservers before their other ones
|
# nscd/libc users will get the VPN nameservers before their other ones
|
||||||
# and will use the first one that responds - maybe the LAN ones?
|
# and will use the first one that responds - maybe the LAN ones?
|
||||||
# non resolvconf users just the the VPN resolv.conf
|
# non resolvconf users just the VPN resolv.conf
|
||||||
|
|
||||||
# FIXME:- if we have >1 domain, then we have to use search :/
|
# FIXME:- if we have >1 domain, then we have to use search :/
|
||||||
# We need to add a flag to resolvconf to say
|
# We need to add a flag to resolvconf to say
|
||||||
|
@ -12,7 +12,7 @@ TMPDIR="${BUILD_ROOT}"/tmp-"$(basename "$0")"
|
|||||||
|
|
||||||
# Please note that we added this unit test because the function
|
# Please note that we added this unit test because the function
|
||||||
# should really be called is_newer_than as it's what it's really testing.
|
# should really be called is_newer_than as it's what it's really testing.
|
||||||
# Or more perversly, returning 0 on failure and 1 and success.
|
# Or more perversely, returning 0 on failure and 1 and success.
|
||||||
|
|
||||||
# bool is_older_than(reference, files/dirs to check)
|
# bool is_older_than(reference, files/dirs to check)
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user