As found and reported to the MSYS team back in 2006 by Howard Chu, if a native process is spawned, control-C, the kill command, etc, may not actually kill the process. Details are here:

<http://mingw.5.n7.nabble.com/Re-Ctrl-Break-handler-td28010.html>

as well as here:

<https://sourceforge.net/p/mingw/bugs/1783/>

Given that there is now 64-bit windows, the issue would be a bit more complex to resolve, as an updated patch would need to query first to see if the target process is 32-bit or 64-bit, and then a 64-bit version of the patch needs to be created.

The inability to properly kill such a spawned process can lead to things like the dreaded "Device or resource busy" error, since the process that is using the related file has actually never terminated.

It's fairly trivial to reproduce this in the OpenLDAP test suite, particularly test001, which spawns a slapd process, kills it, then spawns another slapd process, which will fail because the original slapd never actually got killed.

Regards,
Quanah

--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to