<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32, branch dscho-kill-gently</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=dscho-kill-gently</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=dscho-kill-gently'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2017-09-26T15:40:37+00:00</updated>
<entry>
<title>timeout: use new kill(2) to signal child</title>
<updated>2017-09-26T15:40:37+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-09-26T15:40:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=caf2a1b67ffeac7dd102424ae904818b478e65c6'/>
<id>urn:sha1:caf2a1b67ffeac7dd102424ae904818b478e65c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: silence warning about unused parameter</title>
<updated>2017-09-26T09:44:17+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-09-26T09:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3cfc5cc69d02f6832da1060c814ad564a357f006'/>
<id>urn:sha1:3cfc5cc69d02f6832da1060c814ad564a357f006</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: allow kill to send signal number 0</title>
<updated>2017-09-26T08:38:47+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-09-26T08:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=771dd3e88dad3030b5e1ebce9936bb600d4b567a'/>
<id>urn:sha1:771dd3e88dad3030b5e1ebce9936bb600d4b567a</id>
<content type='text'>
According to the man page:

   If sig is 0, then no signal is sent, but existence and permission
   checks are still performed
</content>
</entry>
<entry>
<title>win32: improvements to implementation of kill(2)</title>
<updated>2017-08-27T07:47:20+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-08-27T07:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c8544e127085b79891003af39d32e4b89c54aab4'/>
<id>urn:sha1:c8544e127085b79891003af39d32e4b89c54aab4</id>
<content type='text'>
Extend the implementation of kill(2) so that:

- Sending the TERM signal asks the target process to exit.  As on
  Unix it may not comply.

- Sending the KILL signal forcibly terminates the target process.

- Using a negative pid treats the target process as a process
  group leader and signals it and all of its descendants.

- Using a pid of zero treats the current process as a process
  group leader and signals it and all of its descendants.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>kill: use gentler method than TerminateProcess()</title>
<updated>2017-08-25T21:11:19+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-07-08T19:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b122f9ae692eb5986f0e84826435aea8f2cf35e1'/>
<id>urn:sha1:b122f9ae692eb5986f0e84826435aea8f2cf35e1</id>
<content type='text'>
As Git for Windows' source code recently learned, let's also avoid using
TerminateProcess() in BusyBox-w32: it does not allow the killed
processes' atexit() handlers to run.

Instead, jump through a couple of hoops by injecting a remote thread
that executes the ExitProcess() function.

This allows the atexit() handlers to run, at which point the exit code
of the process can already be queried via GetExitCodeProcess(), and
appropriate action can be taken, such as killing child processes.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
</content>
</entry>
<entry>
<title>libbb: don't compile various Linux-specific functions</title>
<updated>2017-08-24T12:47:41+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-08-24T12:47:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7a4491e1f8c77a9825bb70fa4367549746eb90c0'/>
<id>urn:sha1:7a4491e1f8c77a9825bb70fa4367549746eb90c0</id>
<content type='text'>
xfuncs_printf.c includes a number of Linux-specific functions.
They handle things like SELinux, ioctls, devices and forking.

Nothing in busybox-w32 uses them, so don't compile them.
</content>
</entry>
<entry>
<title>cpio: disable pass-through mode (-p) in default configuration</title>
<updated>2017-08-24T12:46:10+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2017-08-24T12:46:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a7968f71ef743fd36434560b1d7642acf5227ee5'/>
<id>urn:sha1:a7968f71ef743fd36434560b1d7642acf5227ee5</id>
<content type='text'>
Pass-through mode never worked:  it uses fork().
</content>
</entry>
<entry>
<title>mode_string: S_IFBLK differs between Windows and Unix</title>
<updated>2017-08-24T08:12:18+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-06-27T21:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c87d9b4b2be7bc03afe9c149bc6ad45406b4124c'/>
<id>urn:sha1:c87d9b4b2be7bc03afe9c149bc6ad45406b4124c</id>
<content type='text'>
It is a bit wrong to make that much of a hard-coded assumption, anyway.

Maybe a better way would be to test whether the S_IF* constants are in a
specific range. But then, it is probably not worth the time to
investigate that.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>xconnect: avoid using getsockname/getpeername on Windows</title>
<updated>2017-08-24T08:12:18+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-06-27T21:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f329410d736916385a74dd22cbf5268db9b3c463'/>
<id>urn:sha1:f329410d736916385a74dd22cbf5268db9b3c463</id>
<content type='text'>
The semantics of said functions is a bit different on Windows than on
Linux: it takes a `SOCKET` parameter instead of an `int` parameter, as
Windows does not use file descriptors for sockets.

The callers of these functions are only used in the daemons anyway,
though, and those are not compiled in busybox-w32.

Therefore, let's simply skip compiling those functions on Windows (as
well as `get_lsa()`, which would now be unused otherwise).

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>mingw: accommodate for BusyBox' assumptions about isatty()</title>
<updated>2017-08-24T08:12:10+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-06-30T20:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=98bc4759107c54783c08bf1ecde35e96f1345dc1'/>
<id>urn:sha1:98bc4759107c54783c08bf1ecde35e96f1345dc1</id>
<content type='text'>
On Windows, isatty(fd) determines whether the file descriptor refers to
a character device.

The thing is: even NUL or a printer is a character device. BusyBox
thinks, however, that isatty() only returns non-zero for an interactive
terminal.

So let's shadow isatty() by a version that answers the question BusyBox
wants to have answered.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
</feed>
