<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32, 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>ash: prevent leakage of process handles</title>
<updated>2026-05-13T11:32:26+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-13T11:32:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bda604a70761e7791e5bfd00337bfc6f9e6ae640'/>
<id>urn:sha1:bda604a70761e7791e5bfd00337bfc6f9e6ae640</id>
<content type='text'>
When the shell invoked process substitution it retained a process
handle to the child.  These handles could accumulate without limit.

The shell in upstream BusyBox doesn't bother to create a job
structure for process substitutions or here documents.  This isn't
appropriate on Windows, where we need to track the child process
handles.  Create job structures as required.

Saves 32-48 bytes.

(GitHub issue #587)
</content>
</entry>
<entry>
<title>dd: remove note about /dev/urandom and /dev/zero</title>
<updated>2026-05-12T12:59:45+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-12T12:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4bc07f64b678e3e614e659d44b55ad1100d80d32'/>
<id>urn:sha1:4bc07f64b678e3e614e659d44b55ad1100d80d32</id>
<content type='text'>
Now that /dev/urandom and /dev/zero can be used by all applets
there's no need to mention that dd has support for them.

Saves 32-56 bytes.
</content>
</entry>
<entry>
<title>reset: code shrink and clarification</title>
<updated>2026-05-12T06:49:43+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-12T06:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f20edfc0bbb709bcb7f251168988b3219a8f4120'/>
<id>urn:sha1:f20edfc0bbb709bcb7f251168988b3219a8f4120</id>
<content type='text'>
The 'ESC]J' sequence in 'reset' is unnecessary.

One or other of 'ESC]3J' and the explicit call to reset_screen()
should be sufficient, but the Win 10/11 terminal requires the
former while the Win 10 console requires the latter.

Saves 4 bytes in the 32-bit build.

(GitHub issue #161)
</content>
</entry>
<entry>
<title>reset: add support for stty and Windows Terminal</title>
<updated>2026-05-11T12:54:20+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-11T12:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=fd61ea6032ce732db6f66c335e7bfc44aa2290ff'/>
<id>urn:sha1:fd61ea6032ce732db6f66c335e7bfc44aa2290ff</id>
<content type='text'>
The 'reset' applet hasn't kept pace with developments elsewhere.

We now have support for 'stty sane', so the code in 'reset' which
calls that can be enabled.

Windows 10 and 11 have updated Terminal and Console programs, with
varying features and behaviours.  Add ANSI emulation code to handle
clearing the scrollback buffer and use ANSI sequences in 'reset'
to do that.  It was also necessary to retain the explicit call to
reset_screen(), or 'reset' didn't work properly in the Terminal I'd
installed in Windows 10.

Adds 92-128 bytes.

(GitHub issue #161)
</content>
</entry>
<entry>
<title>libbb: reverse performance regression in bb_copyfd_*</title>
<updated>2026-05-10T12:00:34+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-10T12:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cc5bbc507aeefc3c5cf67e78930ebf715324d06e'/>
<id>urn:sha1:cc5bbc507aeefc3c5cf67e78930ebf715324d06e</id>
<content type='text'>
Commit c4f24ec9d (libbb: try to mitigate 'cat /dev/urandom')
resulted in a 'cat' to the terminal taking ~25% longer than
before.

Raising the isatty() call out of the loop reduces the penalty
to ~1%.

Adds 16 bytes in the 32-bit build.

(GitHub issue #585)
</content>
</entry>
<entry>
<title>libbb: try to mitigate 'cat /dev/urandom'</title>
<updated>2026-05-08T13:18:44+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-08T13:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c4f24ec9d3a88346e416b11ac47144778aa01696'/>
<id>urn:sha1:c4f24ec9d3a88346e416b11ac47144778aa01696</id>
<content type='text'>
Now that '/dev/urandom' can be used directly, people with a sense
of curiosity and adventure have tried running 'cat /dev/urandom'
or 'cat &lt;/dev/urandom'.

The 'cat' applet in BusyBox is so efficient and ANSI escape
handling is so inefficient that this overwhelms the capabilities
of the Windows console or terminal to the extent that it's unable
to process Ctrl-C requests in a timely manner.

To give it a chance to catch up, force 'cat' to take a short nap
from time to time (very short, zero length) but only when it's
writing to a tty.

The call to Sleep() is in a separate function to avoid unnecessary
bloat in 32-bit builds, where its presence upsets the stack and
requires much larger code for stack access.

Adds 48 bytes.

(GitHub issue #585)
</content>
</entry>
<entry>
<title>Update README.md</title>
<updated>2026-05-07T13:59:31+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-07T13:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e06df64f035f613829a00f2611242b83549ba0a4'/>
<id>urn:sha1:e06df64f035f613829a00f2611242b83549ba0a4</id>
<content type='text'>
</content>
</entry>
</feed>
