See #15335 and #13353 for details
Could you please provide information on "at" that is seriously at risk? I
understand (and agree) that the start-up and shut-down ordering of RH Linux
scripts could be modified... but a complete re-design of these scripts is a
large task that probably won't get fixed right before release; it's something
that should be a "release deliverable feature".
However, if there is some race-condition, or denial-of-service, or data
corruption, or something that can be demonstrated as a real problem, I would
like to see/hear/read more on the issue.
Because (ana)cron and at are related programs I will write about both...
When a job will be executed immediately after at/cron/anacron has been started,
the problems occur. Such race-conditions can be triggered e.g.:
- with `at' or similarly `anacron': create a job which has to be executed at
00:10, stop the machine at 00:00 and start it again at 00:20. `at' will execute
pending jobs at startup
- with `cron': create a crontab entry '@reboot doSomething'
Some critical actions can be:
- DNS related ones: if localhost is the NS-server, bind will be started at pos
55 -- that's after `at' and `cron'. Example:
| host <host_in_my_domain> || do_bad_things
- Time related ones: ntp starts at pos 55 and can set time to values causing an
unwanted behavior of the scheduling progs
- Mail related ones: `sendmail' starts at pos 80. If a job needs a sendmail
daemon listing on port 25 it will fail. A real world example is `fetchmail'
started by users at '@reboot'-time.
There are some cases left, depending e.g. on xinetd(50), lpd(60) or squid(90),
where similar examples are possible.
I understand that changing startup positions is a critical step shortly before
the release, but I don't see any reason why user-oriented daemons must be
executed before important system services. Additional at and cron are not
working determinedly (sometimes a job will be executed before positions >40,
sometimes not). If the @reboot feature is really needed at this stage, it's
better to write a seperate initscript doing it.
Still on florence, beta1
Still in beta2
still in at-3.1.8-16