<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/findutils, branch waitfor</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=waitfor</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=waitfor'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-07-16T12:58:37+00:00</updated>
<entry>
<title>xargs: limit number of processes to 64</title>
<updated>2026-07-16T12:58:37+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-07-16T12:44:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=dfb473921952e6c049aa7a591efca78db7a4720d'/>
<id>urn:sha1:dfb473921952e6c049aa7a591efca78db7a4720d</id>
<content type='text'>
Upstream limits the number of processes invoked with the '-P 0'
option to 100.

On Windows the limit was set to MAXIMUM_WAIT_OBJECTS, as that's
the most WaitForMultipleObjects() can handle.  Apply the same
limit to user-supplied '-P' values. This avoids the need to loop
over blocks of MAXIMUM_WAIT_OBJECTS.

"64 processes ought to be enough for anyone."

Saves 64-80 bytes.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix the flags for stat (again) (#601)</title>
<updated>2026-06-22T10:36:43+00:00</updated>
<author>
<name>mbartlett21</name>
<email>29034492+mbartlett21@users.noreply.github.com</email>
</author>
<published>2026-06-22T10:36:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b37062304275debaadf71c9f3e5f4e9076f5eda6'/>
<id>urn:sha1:b37062304275debaadf71c9f3e5f4e9076f5eda6</id>
<content type='text'>
* Revert "find: reset stat(2) flags before terminating"

This reverts commit 228ee18fbe8cf408440e7bbe91db4ef201312983.

* test: fix flags for stat with NOFORK

test is a NOFORK applet, so the flags under mingw_stat may not have been
reset before calling it. We have it so it also restores the flags after,
since it could be called in the middle of another applet.

This also needed a way to retrieve the flags, so they are just done
through the return value.

* Add comments about not having to restore flags

Just for future reference

* lineedit: use new flag restoring

* win32: simplify mingw_access calling

Since we now have a way to get the previous flags, mingw_access can be
changed to ignore any stat flags

* stat: comments from PR

Adds 32 bytes.</content>
</entry>
<entry>
<title>find: reset stat(2) flags before terminating</title>
<updated>2026-06-19T18:13:54+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-19T18:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=228ee18fbe8cf408440e7bbe91db4ef201312983'/>
<id>urn:sha1:228ee18fbe8cf408440e7bbe91db4ef201312983</id>
<content type='text'>
Commit a717c6844 (find: skip check for execute when not needed)
didn't reset stat(2) to its default behaviour (at my insistence).

This was incorrect.  The '-exec cmd {} +' action calls a nofork
'cmd' directly without spawning a new process.  If 'cmd' calls
'stat(2)' it won't be in its default state which can affect the
result.

Reintroduce the code to reset 'stat(2)'.

Adds 16 bytes.

(GitHub PR #600)

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>find: skip check for execute when not needed</title>
<updated>2026-06-19T15:15:35+00:00</updated>
<author>
<name>mbartlett21</name>
<email>mjmouse9999@gmail.com</email>
</author>
<published>2026-06-19T05:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a717c68449c8df642f6f2381618366a24734d184'/>
<id>urn:sha1:a717c68449c8df642f6f2381618366a24734d184</id>
<content type='text'>
See previous commits:
1fb1a65064748a54fba4bf4b5e8700f8e61f003f
6a7ccb6ca3bd9b661760879478ecf0d5f6112fc3

My testing shows a speedup of around 30%, but that will vary with
whether files are cached.

Test inside busybox repository with files cached:
Command                     | before | after
find             &gt;/dev/null |  0.83s | 0.56s
find -executable &gt;/dev/null |  1.56s | 1.35s
</content>
</entry>
<entry>
<title>win32: fix compilation with FEATURE_SH_NOFORK disabled</title>
<updated>2024-12-31T08:21:12+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-12-31T08:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0e8bc6527c9d4b9af17e9b0f759b1ad12ae1bc35'/>
<id>urn:sha1:0e8bc6527c9d4b9af17e9b0f759b1ad12ae1bc35</id>
<content type='text'>
Compiling with FEATURE_SH_NOFORK disabled resulted in an error and
a warning.  Fixing these doesn't change the default build.
</content>
</entry>
<entry>
<title>xargs: allow for quotes in commands on Windows</title>
<updated>2024-12-30T13:07:47+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-12-30T12:58:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=dc3ee8e0523a4f651f3012ae1f5a181548187709'/>
<id>urn:sha1:dc3ee8e0523a4f651f3012ae1f5a181548187709</id>
<content type='text'>
When xargs limited the length of the command lines it generated it
didn't allow for the quoting Windows spawn() introduces.

Properly account for any additional characters required when a
command is spawned on Windows.  If the command is a NOFORK applet
this isn't necessary.

Adds 384-464 bytes.
</content>
</entry>
<entry>
<title>win32: work around problem with stderr in MSVCRT</title>
<updated>2024-09-30T15:08:42+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-09-30T14:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4be93f32f5bd5ccaac343b4d03fb861a02d6de96'/>
<id>urn:sha1:4be93f32f5bd5ccaac343b4d03fb861a02d6de96</id>
<content type='text'>
Try to run a non-existent command with standard error closed:

   xyz 2&gt;&amp;-

In recent versions of busybox-w32 this resulted in problems with
moving through history (either using up/down keys or ctrl-r) and
tab completion.  In all cases the order of the prompt and the
command were reversed.

Bisection showed the problem was first seen in PRE-5396 which
merged some commits from upstream, including fd47f0567 (lineedit:
print prompt and editing operations to stderr).

This (eventually) called to mind a previous problem with stderr
in xargs which was fixed by commit f192e6539 (xargs: fix 'xargs
-sNUM' tests).  In both cases it seemed that mixing calls to
bb_putchar_stderr() and fprintf(stderr, ...) was at fault.  The
former uses a file descriptor while the latter uses a stream.  It
was almost as if the stream was buffered.

- The problem with xargs affected 32-bit and 64-bit builds with
  MSVCRT.

- The problem with '2&gt;&amp;-' only affected 32-bit builds with MSVCRT.

- Neither problem was present with UCRT builds.

As a workaround change bb_putchar_stderr() to use the stderr stream
in builds for MSVCRT.

Saves 16 bytes in the 32-bit build.

(GitHub issue #460)
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-07-13T07:06:26+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-13T07:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bd978d0256fd3a67de1a7dd54f1a37f9435be363'/>
<id>urn:sha1:bd978d0256fd3a67de1a7dd54f1a37f9435be363</id>
<content type='text'>
</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>
<entry>
<title>libbb: code shrink: introduce and use [_]exit_FAILURE()</title>
<updated>2023-06-15T09:55:56+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-06-15T09:55:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=648f506949ded749e28186d0092b6e42085c897b'/>
<id>urn:sha1:648f506949ded749e28186d0092b6e42085c897b</id>
<content type='text'>
function                                             old     new   delta
exit_FAILURE                                           -       7      +7
_exit_FAILURE                                          -       7      +7
run                                                  198     199      +1
restore_state_and_exit                               114     115      +1
xbsd_write_bootstrap                                 399     397      -2
vfork_compressor                                     209     207      -2
sig_handler                                           12      10      -2
serial_ctl                                           154     152      -2
parse_args                                          1169    1167      -2
onintr                                                21      19      -2
make_new_session                                     493     491      -2
login_main                                           988     986      -2
gotsig                                                35      33      -2
do_iplink                                           1315    1313      -2
addgroup_main                                        397     395      -2
inetd_main                                          1911    1908      -3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/12 up/down: 16/-25)            Total: -9 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
