<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/libbb/signals.c, branch mount_point</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=mount_point</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=mount_point'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2025-09-11T06:43:40+00:00</updated>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2025-09-11T06:43:40+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-09-11T06:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c53706d6323bb25a4d68829b1070ec1539c08d94'/>
<id>urn:sha1:c53706d6323bb25a4d68829b1070ec1539c08d94</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ash: eval: Add vfork support</title>
<updated>2025-09-07T08:56:39+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-09-07T08:56:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=719390a604f50a84a3bffbb168eadf83e733b020'/>
<id>urn:sha1:719390a604f50a84a3bffbb168eadf83e733b020</id>
<content type='text'>
Merge upstream commit df154028d.  Since we don't have vfork() on
Windows we continue to use the spawn_forkshell() mechanism.
Although there is some rearrangement of the code it's functionally
the same.
</content>
</entry>
<entry>
<title>*: code shrink using sigprocmask2() where appropriate</title>
<updated>2025-08-10T23:17:02+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-08-10T23:14:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e660eab45867748ccf9dd8d5ddbdb5815381d4a7'/>
<id>urn:sha1:e660eab45867748ccf9dd8d5ddbdb5815381d4a7</id>
<content type='text'>
function                                             old     new   delta
sig_unblock                                           41      43      +2
sig_block                                             41      40      -1
sigprocmask_allsigs                                   33      31      -2
wait_for_child_or_signal                             202     193      -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 2/-12)             Total: -10 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: eval: Add vfork support</title>
<updated>2025-08-09T15:36:18+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-08-09T15:36:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=df154028dc1257a03cbbcf322a6c31eb9552a661'/>
<id>urn:sha1:df154028dc1257a03cbbcf322a6c31eb9552a661</id>
<content type='text'>
Upstream commit:

    Date: Sat, 19 May 2018 02:39:56 +0800
    eval: Add vfork support

    This patch adds basic vfork support for the case of a simple command.

Upstream commit:

    Date: Tue, 12 Jan 2021 17:11:19 +1100
    jobs: Always reset SIGINT/SIGQUIT handlers

    On Fri, Jan 08, 2021 at 08:55:41PM +0000, Harald van Dijk wrote:
    &gt; On 18/05/2018 19:39, Herbert Xu wrote:
    &gt; &gt; This patch adds basic vfork support for the case of a simple command.
    &gt; &gt; ...  @@ -879,17 +892,30 @@ forkchild(struct job *jp, union node *n, int
    &gt; &gt; mode)
    &gt; &gt;   		}
    &gt; &gt;   	}
    &gt; &gt;   	if (!oldlvl &amp;&amp; iflag) {
    &gt; &gt; -		setsignal(SIGINT);
    &gt; &gt; -		setsignal(SIGQUIT);
    &gt; &gt; +		if (mode != FORK_BG) {
    &gt; &gt; +			setsignal(SIGINT);
    &gt; &gt; +			setsignal(SIGQUIT);
    &gt; &gt; +		}
    &gt; &gt;   		setsignal(SIGTERM);
    &gt; &gt;   	}
    &gt; &gt; +
    &gt; &gt; +	if (lvforked)
    &gt; &gt; +		return;
    &gt; &gt; +
    &gt; &gt;   	for (jp = curjob; jp; jp = jp-&gt;prev_job)
    &gt; &gt;   		freejob(jp);
    &gt; &gt;   }
    &gt;
    &gt; This leaves SIGQUIT ignored in background jobs in interactive shells.
    &gt;
    &gt;   ENV= dash -ic 'dash -c "kill -QUIT \$\$; echo huh" &amp; wait'
    &gt;
    &gt; As of dash 0.5.11, this prints "huh". Before, the subprocess process killed
    &gt; itself before it could print anything. Other shells do not leave SIGQUIT
    &gt; ignored.
    &gt;
    &gt; (In a few other shells, this also prints "huh", but in those other shells,
    &gt; that is because the inner shell chooses to ignore SIGQUIT, not because the
    &gt; outer shell leaves it ignored.)

    Thanks for catching this.  I have no idea how that got in there
    and it makes no sense whatsoever.  This patch removes the if
    conditional.

    Fixes: e94a964e7dd0 ("eval: Add vfork support")

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2021-06-07T10:34:06+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-06-07T10:34:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=abe872e2a0342357a5608342cb2892e94027b3e7'/>
<id>urn:sha1:abe872e2a0342357a5608342cb2892e94027b3e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>runsv: robustify signal handling - SIGTERM to child between vfork and exec could mess things up</title>
<updated>2021-06-05T14:20:05+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-06-05T14:20:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5dadd497ffd9835a2860cf89ad781d1b513803dc'/>
<id>urn:sha1:5dadd497ffd9835a2860cf89ad781d1b513803dc</id>
<content type='text'>
While at it, rename bb_signals_recursive_norestart() to bb_signals_norestart():
"recursive" was implying we are setting SA_NODEFER allowing signal handler
to be entered recursively, but we do not do that.

function                                             old     new   delta
bb_signals_norestart                                   -      70     +70
startservice                                         380     394     +14
bb_signals_recursive_norestart                        70       -     -70
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 84/-70)             Total: 14 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>win32: code shrink</title>
<updated>2021-02-06T09:52:11+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-06T09:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=70ca88d03a7aa92720744832fd9d131a183e00be'/>
<id>urn:sha1:70ca88d03a7aa92720744832fd9d131a183e00be</id>
<content type='text'>
Don't compile some code that isn't currently supported for WIN32.
Saves 24 bytes.
</content>
</entry>
<entry>
<title>inetd: suppress aliasing warning</title>
<updated>2018-12-08T14:35:24+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-12-08T14:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b437df1157964ed012f1aeae25b68f6bbaae1787'/>
<id>urn:sha1:b437df1157964ed012f1aeae25b68f6bbaae1787</id>
<content type='text'>
function                                             old     new   delta
sigprocmask2                                           -       8      +8
wait_for_child_or_signal                             213     218      +5
dowait                                               424     429      +5
block_CHLD_HUP_ALRM                                   62      59      -3
sigprocmask_SIG_SETMASK                               16       -     -16
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/1 up/down: 18/-19)             Total: -1 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>suppress gcc 8 aliasing warnings</title>
<updated>2018-12-08T12:49:15+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-12-08T12:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=136fe9bede247d3273f5e82b5e856fa5c15a922c'/>
<id>urn:sha1:136fe9bede247d3273f5e82b5e856fa5c15a922c</id>
<content type='text'>
function                                             old     new   delta
sigprocmask_SIG_SETMASK                                -      16     +16
wait_for_child_or_signal                             221     213      -8
dowait                                               432     424      -8

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>whitespace and comment format fixes, no code changes</title>
<updated>2017-10-05T12:40:24+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-10-05T12:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ebe6d9d8758d36e03cf39b6587597c67ab778436'/>
<id>urn:sha1:ebe6d9d8758d36e03cf39b6587597c67ab778436</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
