On Sat, Aug 7, 2010 at 08:21, Hirokazu Yamamoto
<ocean-c...@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.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to