[Python-Dev] [Python-checkins] r83763 - in python/branches/py3k: Doc/library/signal.rst Lib/test/test_signal.py Misc/NEWS Modules/signalmodule.c

Brian Curtin brian.curtin at gmail.com
Sat Aug 7 16:42:31 CEST 2010


On Sat, Aug 7, 2010 at 08:21, Hirokazu Yamamoto
<ocean-city at m2.ccsnet.ne.jp>wrote:

> On 2010/08/07 19:18, Ronald Oussoren wrote:
>
>>
>> On 7 Aug, 2010, at 10:24, Hirokazu Yamamoto wrote:
>>
>>  This is the idea just popped up. :-)
>>>
>>> #define SIG(name) if (sig_num != SIG##name)
>>>    SIG(ABRT) SIG(FPE) SIG(ILL) SIG(INT) SIG(SEGV) SIG(TERM) {
>>>         PyErr_SetString(PyExc_ValueError, "signal number out of range");
>>>         return NULL;
>>>     }
>>> #undef SIG
>>>
>>
>> What's wrong with:
>>
>> switch (sig_num) {
>> case SIGABRT:
>> case SIGFPE:
>> ...
>> case SIGTERM:
>>        break;
>> default:
>>       PyErr_SetString(...)
>>       return NULL;
>> }
>>
>> That would IMO be clearer than the macro you propose.
>>
>> Ronald
>>
>
> Hmm... I liked the macro idea, but nothing is wrong with switch
> statement.


I had thought about doing this via switch statement. I'll propose a patch
and post it on #9324.

As for the "out of range" comment -- true, it's not technically a range on
Windows, but it matches the exception wording when we raise on Mac/Linux for
the same reason. I can change that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20100807/85bfbebc/attachment-0001.html>


More information about the Python-Dev mailing list