New submission from Serhiy Storchaka:

In C the SIG_DFL and SIG_IGN macros expand into integral expressions that are 
not equal to an address of any function. In Python they are int objects with 
platform depended values. Second argument of the signal() function should be 
SIG_DFL, SIG_IGN, or a function. The getsignal() function returns SIG_DFL, 
SIG_IGN, None, or a function. They are tested for identity in signal() and 
getsignal() returns identical values. So actually SIG_DFL and SIG_IGN are just 
singletons.

I propose to turn SIG_DFL and SIG_IGN into functions. Benefits:

1. They will have names and self-descriptive representation.
2. They will have docstrings.
3. The signature of signal() will be simpler. The type of second argument would 
be function.
4. Their pickling will be portable.

This patch depends on the backout of turning these constants to enums 
(issue21076).

----------
components: Library (Lib)
files: signal_std_handlers.patch
keywords: patch
messages: 234775
nosy: ethan.furman, giampaolo.rodola, serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: Turn SIG_DFL and SIG_IGN into functions
type: enhancement
versions: Python 3.5
Added file: http://bugs.python.org/file37868/signal_std_handlers.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23325>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to