A generic configuration file can be found in skeld.conf, which is a description of
a hypothetical ``skeleton'' daemon. The configuration files are each read in with a
standard reader, and each file begins with the following header and
# configuration file for skeld
# format is "key value"
# comments start with ` #' and go to end of line
# blank lines are okay
# lines cannot be continued
loglevel 1 # 0,1,2 = terse,verbose,debug
logfile /rotse/run/log/skeld.log # logfile location
poll_time 0.05 # main loop time quantum
sample_time 3.0 # sample time in seconds
The loglevel can be set to 3 levels, which controls the amount of logging to the daemon logfile specified by logfile. In addition, each daemon will log important system information to /var/log/rotse.log.
On each pass through its main loop, each daemon will check the shared memory for new commands. At the end of the loop, it waits for poll_time seconds. The daemon only updates its status every sample_time seconds, or sooner if the status changes significantly. If all of the poll times are set too small, then too many daemons try to access the shared memory at the same time, and the system becomes unstable. Daemons for which speed of response is not an issue should have larger poll_time values.
In addition, multi-threaded daemons such as alertd and weathd have
the following options:
sample_time_th 3.0 # thread sample time
init_time 5.0 # how long wait for children
The sample_time_th is the individual thread sample time, for the children to update their status values for the parent. The init_time is how long to wait for the children to start up before assuming something has gone wrong, and shutting down the system. Any such startup problems are logged to /var/log/rotse.log.