Subject: bug#15983: 24.3; Emacs Not Killing Child Process

From: Eli Zaretskii <[email-masked]>
Date: Sat, 21 Dec 2013 10:15:07 +0200

> Date: Sat, 21 Dec 2013 00:28:02 +0200
> From: Joan Karadimov <[email-masked]>
> Cc: Simon Morgan <[email-masked]>, Bozhidar Batsov <[email-masked]>
> 
> Back to the main issue - I wasn't aware that pid's get reused so rapidly on
> Windows.

Windows uses the same pool of numbers for process and thread IDs, so
the numbers are reused very quickly.

> As for the implementation - your idea sounds great but I have no idea how to
> put it together.

Neither do I.

> I am able to come up with some other stuff that use snapshots and do not
> kill
> unrelated processes. However, they skip any processes that are spawned after
> the sys_kill subroutine is called.

This might be "good enough" -- we err on the safe side, and only leave
some subprocesses not killed in rare situations.  Does this strategy
solve the problem which started this bug report?  If so, please tell
the main ideas of how you intend to avoid killing unrelated processes.

> Now I am starting to think in another direction. Would something like:
>   system("taskkill /PID XXXX /T")
> ... be an acceptable solution?

Unfortunately, taskkill is not available widely enough.  E.g., on my
XP Home edition, it is not available, and I believe it is not there on
systems older than XP, which we still support.

Thanks.