<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/miscutils/crond.c, branch cron_changes</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=cron_changes</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=cron_changes'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-05-15T06:52:14+00:00</updated>
<entry>
<title>crond: fix reboot special time</title>
<updated>2026-05-15T06:52:14+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-14T15:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7dfc5b04974ac428d8f43cf84a4e2d7ceb193675'/>
<id>urn:sha1:7dfc5b04974ac428d8f43cf84a4e2d7ceb193675</id>
<content type='text'>
The 'reboot' special time didn't work because the file to check
for a reboot couldn't be created.  And in any case, the mechanism
used on Linux wouldn't work: Windows has no /var/run directory
which is cleared on reboot.

The crond.reboot file is now placed in the cron directory.  If it
doesn't exist when crond starts, it's created but the reboot job
(if any) isn't run.  If the file exists its modification time is
compared with the time of the current boot.  If it's older update
its time and run the reboot job.

Adds 144-224 bytes.
</content>
</entry>
<entry>
<title>crond: drop '-S' option</title>
<updated>2026-05-15T06:52:14+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-14T10:41:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7c5a95ba4d0a05145d42e17e74c7c991a0c4ff76'/>
<id>urn:sha1:7c5a95ba4d0a05145d42e17e74c7c991a0c4ff76</id>
<content type='text'>
Since we don't use syslog on Windows there's no point in having
an option to set it.  Log to stderr by default instead.

Saves 88-96 bytes.
</content>
</entry>
<entry>
<title>crond,crontab: executable-relative cron directories</title>
<updated>2026-05-15T06:52:14+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-14T10:00:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cc2724f50bb83c977ca992337f6ba292b0b937b9'/>
<id>urn:sha1:cc2724f50bb83c977ca992337f6ba292b0b937b9</id>
<content type='text'>
Some users want a 'portable' busybox-w32 installation on removable
media.  To help with this, certain files can be positioned relative
to the location of the executable.

crond and crontab now look for var/spool/cron/crontabs relative
to the binary, and use that as their working directory if it exists.
If it doesn't, fall back to the hardcoded absolute path.  The '-c'
command line option can still be used to override the automatic
choice.

The '-c' option in crond now updates the cron directory variable as
well as that for crontabs.

Adds 128-144 bytes.
</content>
</entry>
<entry>
<title>crond: build tweaks</title>
<updated>2026-05-03T09:52:29+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-03T09:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ced42f811a96ed3910bcb03158f33bd01ed923c8'/>
<id>urn:sha1:ced42f811a96ed3910bcb03158f33bd01ed923c8</id>
<content type='text'>
Using 'depends on FEATURE_SYSLOG' is unreliable because
FEATURE_SYSLOG can't be set directly.  A POSIX build with all
applets that need syslog disabled *except* crond may fail.
Revert to using 'select FEATURE_SYSLOG' in crond and exclude
the unused syslog code on Windows.

If crond is unable to run sendmail report this in the error
message.

Update all default Windows configurations.

(GitHub PR #561)
</content>
</entry>
<entry>
<title>Add crond and crontab (#561)</title>
<updated>2026-05-03T08:53:07+00:00</updated>
<author>
<name>mbartlett21</name>
<email>29034492+mbartlett21@users.noreply.github.com</email>
</author>
<published>2026-05-03T08:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c23112c3a0bbf1d07f03b3c07fe96b5b4c5271f1'/>
<id>urn:sha1:c23112c3a0bbf1d07f03b3c07fe96b5b4c5271f1</id>
<content type='text'>
* Enable crontab

* Enable crond

* Allow sendmail to be used in crond

This also adds another option to the mingw_popen_fd function to capture
stderr as well. And also added the options to support WNOHANG as well
as an unused status in mingw_wait3

* Check current uid when running crond

* Only show tail for mailto jobs

* Use system drive for cron

* crond: add missing feature check

* crond: use spawn_detach for background operation</content>
</entry>
<entry>
<title>*: use safe_waitpid() or wait_any_nohang() where approppriate</title>
<updated>2025-07-30T18:02:23+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-07-30T18:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a98b95b715359a8b002d1cb8e1f998a4afa2c73e'/>
<id>urn:sha1:a98b95b715359a8b002d1cb8e1f998a4afa2c73e</id>
<content type='text'>
function                                             old     new   delta
crond_main                                          1227    1237     +10
init_main                                            804     794     -10
wait_one                                             263     252     -11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 10/-21)            Total: -11 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>crond: reap orphaned grandchildren to prevent zombie buildup</title>
<updated>2025-07-30T17:49:23+00:00</updated>
<author>
<name>Valentin Lab</name>
<email>valentin.lab@kalysto.org</email>
</author>
<published>2025-05-31T01:56:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=41f677ec5daccaeae616a0bbf508d2a2d54bdac7'/>
<id>urn:sha1:41f677ec5daccaeae616a0bbf508d2a2d54bdac7</id>
<content type='text'>
If a cron job launches a background task, e.g. `sh -c "sleep 5 &amp;"`,
the shell exits immediately and the `sleep` process is re-parented to
PID 1.  When BusyBox `crond` itself happens to be PID 1 (common in a
minimal container), those orphans become direct children of `crond`.
Because `crond` only calls waitpid() for the PIDs it explicitly tracks,
these processes remain forever in Z state and the container slowly
fills with zombies.

Add a small `while (waitpid(-1, NULL, WNOHANG) &gt; 0)` sweep at the end
of check_completions() so any stray children are reaped.  When `crond`
is not PID 1 the loop returns -ECHILD immediately, so behaviour and
overhead on a normal system are unchanged.

Size impact: +12 bytes on x86-64 (gcc 13.3.0 -Os, static)

Signed-off-by: Valentin Lab &lt;valentin.lab@kalysto.org&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>libbb: crypt_make_pw_salt(): fix yescrypt's random salt last char</title>
<updated>2025-07-19T16:42:32+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-07-19T16:42:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c6b9e763731545f8e7f3482a90128859496c2964'/>
<id>urn:sha1:c6b9e763731545f8e7f3482a90128859496c2964</id>
<content type='text'>
function                                             old     new   delta
crypt_make_pw_salt                                   128     146     +18

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>crond: log5 fix typo, replace log level '4' with '5'</title>
<updated>2024-03-02T16:03:37+00:00</updated>
<author>
<name>Jones Syue</name>
<email>jonessyue@qnap.com</email>
</author>
<published>2024-01-29T02:58:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=01f2b5976d03fb50229d28297cf5ebd8be533203'/>
<id>urn:sha1:01f2b5976d03fb50229d28297cf5ebd8be533203</id>
<content type='text'>
log5() with crondlog(5, msg, va) seems making logging more consistent.

function                                             old     new   delta
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0)                 Total: 0 bytes

Signed-off-by: Jones Syue &lt;jonessyue@qnap.com&gt;
Signed-off-by: Bernhard Reutner-Fischer &lt;rep.dot.nop@gmail.com&gt;
</content>
</entry>
<entry>
<title>Update applet size estimates</title>
<updated>2023-07-10T15:25:21+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-07-10T15:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5353df91cba7b397b9407701681708d0a1518df6'/>
<id>urn:sha1:5353df91cba7b397b9407701681708d0a1518df6</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
