[issue14480] os.kill on Windows should accept zero as signal
STINNER Victor added the comment: 0 has no special meaning on Windows so I'd rather not add another special case for posix emulation. Additionally, 0 unfortunately already means two things as it is: signal.CTRL_C_EVENT and the int 0. I agree, it's not a good idea to support os.kill(pid, 0) on Windows. I reject the issue. See also the issue #14484. -- nosy: +haypo resolution: - rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
Changes by Giampaolo Rodola' g.rod...@gmail.com: -- nosy: +giampaolo.rodola ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
New submission from Andrew Svetlov andrew.svet...@gmail.com: Starting from 3.2 Python supports os.kill for Windows. It process signal.CTRL_C_EVENT and signal.CTRL_BREAK_EVENT, and kills pid for all other signals. Posix allows to pass zero signal to check pid for existing. It will be nice to keep that behavior for Windows also. The patch should be trivial: just don't call TerminateProcess in Modules/posixmodule.c:win32_kill if sig is zero. -- components: Library (Lib), Windows keywords: easy messages: 157398 nosy: asvetlov priority: normal severity: normal status: open title: os.kill on Windows should accept zero as signal type: behavior versions: Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
Changes by R. David Murray rdmur...@bitdance.com: -- nosy: +brian.curtin stage: - needs patch type: behavior - enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
Brian Curtin br...@python.org added the comment: -1 0 has no special meaning on Windows so I'd rather not add another special case for posix emulation. Additionally, 0 unfortunately already means two things as it is: signal.CTRL_C_EVENT and the int 0. -- status: open - pending ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
R. David Murray rdmur...@bitdance.com added the comment: Hmm. I would think it would be a good idea to have os.kill do posix emulation where that makes sense, it makes cross-platform usage easier. That's what 'kill' with no signal does, right (kills the process, just like the posix default)? The posix spec says If sig is 0 (the null signal), error checking is performed but no signal is actually sent. The null signal can be used to check the validity of pid. So *signal* zero doesn't have any special meaning on posix, either, but it does have a special meaning to the kill command. It seems like it would be nice to add support for that to the windows version, but I'm a little confused. First you say that signal 0 has no special meaning, and then you say that it does (signal.CTRL_C_EVENT). Which is it? -- nosy: +r.david.murray status: pending - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
Brian Curtin br...@python.org added the comment: I meant that in the underlying, such as in the TerminateProcess API, 0 doesn't mean anything special. As is being debated over on #14484 we currently take all integers to be passed to TerminateProcess (the int becomes the killed proc's return code), and two signals to pass to GenerateConsoleCtrlEvent (which is more like posix os.kill). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14480] os.kill on Windows should accept zero as signal
Andrew Svetlov andrew.svet...@gmail.com added the comment: There are no `kill` function in Windows API. From my perspective win32_kill was added to emulate posix sibling if possible. If not — better to give another Windows native name to that function. Really don't see good solution. Maybe better what we can do — declare what os.kill cannot be called with 0 signum on Windows for proc presence checking and note that fact in os.rst. Terminating process looks like overcomplication. POSIX kill only sends signal to process and nothing more. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14480 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com