[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2021-02-26 Thread Eryk Sun


Change by Eryk Sun :


--
versions: +Python 3.10, Python 3.8, Python 3.9 -Python 2.7, Python 3.4, Python 
3.5, Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2016-02-13 Thread Giampaolo Rodola'

Changes by Giampaolo Rodola' :


--
nosy: +giampaolo.rodola

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2015-12-05 Thread Eryk Sun

Eryk Sun added the comment:

test_CTRL_C_EVENT can be removed from Lib/test/test_os.py. It's of no practical 
consequence. Ctrl+Break is always enabled in the child process, so 
test_CTRL_BREAK_EVENT should remain.

When using CREATE_NEW_PROCESS_GROUP, the child process is started with Ctrl+C 
disabled. Whether or not Ctrl+C is enabled in the parent process is irrelevant. 

An example that shows the intent of this creation flag is the /B (background) 
option of the cmd shell's "start" command. Ctrl+C from the user shouldn't 
interrupt such programs, so "start /B" uses the CREATE_NEW_PROCESS_GROUP 
creation flag. You can still kill the process with Ctrl+Break, assuming it 
hasn't installed a control handler that ignores CTRL_BREAK_EVENT instead of 
chaining to the default handler. 

For example:

C:\>start /b /w py -3
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37)
[MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import time
>>> import signal
>>> import ctypes
>>>
>>> _ = signal.signal(signal.SIGINT, lambda *a: print('^C'))
>>> _ = signal.signal(signal.SIGBREAK, lambda *a: print('^BREAK'))
>>>
>>> def test_ctrl_event(event):
... os.kill(os.getpid(), event)
... time.sleep(1)
...

>>> test_ctrl_event(signal.CTRL_BREAK_EVENT) # works
^BREAK
>>> test_ctrl_event(signal.CTRL_C_EVENT) # nothing

As this issue notes, the child process can use ctypes to manually enable Ctrl+C 
events for the current process:

>>> ctypes.windll.kernel32.SetConsoleCtrlHandler(None, 0)
1
>>> test_ctrl_event(signal.CTRL_C_EVENT) # works
^C

But this is contrived. You rarely have such control over the child process 
unless it's your own code, in which case there are far better IPC mechanisms 
available than to rely on the console host process (conhost.exe) as th arbiter 
of communication.

--
nosy: +eryksun
versions: +Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2014-07-09 Thread Mark Lawrence

Changes by Mark Lawrence breamore...@yahoo.co.uk:


--
versions: +Python 3.4, Python 3.5 -Python 3.2, Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2014-07-09 Thread Gregory P. Smith

Gregory P. Smith added the comment:

(un-cc'ing myself as I can't deal with Windows)

--
components: +Tests, Windows -IO

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2014-07-09 Thread Gregory P. Smith

Changes by Gregory P. Smith g...@krypto.org:


--
nosy:  -gregory.p.smith

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2011-05-02 Thread STINNER Victor

STINNER Victor victor.stin...@haypocalc.com added the comment:

http://www.python.org/dev/buildbot/all/builders/x86%20XP-4%203.x/builds/4483/steps/test/logs/stdio
--
test test_os failed -- Traceback (most recent call last):
  File 
D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_os.py, 
line 1177, in test_CTRL_BREAK_EVENT
self._kill_with_event(signal.CTRL_BREAK_EVENT, CTRL_BREAK_EVENT)
  File 
D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_os.py, 
line 1155, in _kill_with_event
self.fail(subprocess did not stop on {}.format(name))
AssertionError: subprocess did not stop on CTRL_BREAK_EVENT
--

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2011-05-01 Thread STINNER Victor

STINNER Victor victor.stin...@haypocalc.com added the comment:

Oh, if the process is able to handle CTRL+c on Windows, it means that 
faulthandler.register() could be used on Windows. While developing the 
faulthandler module, I tried all signals but I was only able to handle SIGSEGV, 
SIGABRT, SIGBUS and SIGILL on Windows. And all of these signals are reserved to 
faulthandler.enable() function. So faulthandler.register() is just not compiled 
on Windows.

If SetConsoleCtrlHandler() is really useful, we should maybe add something to 
the signal module to give access to this function.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2011-04-30 Thread STINNER Victor

Changes by STINNER Victor victor.stin...@haypocalc.com:


--
nosy: +haypo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2011-04-29 Thread Brian Curtin

Changes by Brian Curtin br...@python.org:


--
assignee:  - brian.curtin
nosy: +brian.curtin

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11361] suggestion for os.kill(pid,CTRL_C_EVENT) in tests

2011-03-04 Thread Terry J. Reedy

Changes by Terry J. Reedy tjre...@udel.edu:


--
title: suggestion for os.kill(pid,CTRL_C_EVENT) - suggestion for 
os.kill(pid,CTRL_C_EVENT) in tests

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11361
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com