X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:reply-to:to:subject:message-id
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	default; b=jEhlwW0ysCqby6eiaM+RKUiluoTo0Mw/S9s0C9ogn+Os6JQ7P5NzK
	CL/slTvD4KYzhNim06GME5pl65hrG0N6J2XCEV/0K8KyWotRHqMcVoQuZL3eBcFr
	jlFI7W14FjyZqQ/gGxREHw6a6a3P5yiDpZ4x8h5gFnjfubbsv+ROU4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:reply-to:to:subject:message-id
	:mime-version:content-type:content-transfer-encoding; s=default;
	 bh=RP3VC1x33nJoOOl0AmXHEo54v6M=; b=X3GUO814TL8Ss6pUKFiCyZnptvt6
	rZ8LMFd+DlWzJOIAtAFOEDcrIMu/C9W2D3bZfNVLQOSYL7XefDztuLwMqAn+mJ/L
	fYL6xNHB+H8k/0qZfFZ70WEuHSQjHpZhNLhtl4yE1x4oYopnfO8ucYcHaW5B5IrS
	+TqrxeD9hYYPE28=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=Howard, howard, H*UA:Win32, killing
X-HELO: zmcc-2-mx.zmailcloud.com
Date: Thu, 25 Jul 2019 10:32:09 -0700
From: Quanah Gibson-Mount <quanah@symas.com>
Reply-To: Quanah Gibson-Mount <quanah@symas.com>
To: cygwin@cygwin.com
Subject: Bug report: Killing a native process may not actually kill it
Message-ID: <D2D1E09243A3854178C12845@[192.168.1.39]>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-IsSubscribed: yes

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

