[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1049414 - /subversion/trunk/subversion/tests/svn_test_main.c

From: Branko Čibej <brane_at_apache.org>
Date: Wed, 15 Dec 2010 10:32:29 +0100

On 15.12.2010 06:17, Blair Zajac wrote:
> On 12/14/10 8:21 PM, hwright_at_apache.org wrote:
>> Author: hwright
>> Date: Wed Dec 15 04:21:23 2010
>> New Revision: 1049414
>>
>> URL: http://svn.apache.org/viewvc?rev=1049414&view=rev
>> Log:
>> Allow tests which cause segfaults to not disrupt the other tests in
>> the C
>> testsuite. This becomes useful when committing an XFailing test of a
>> segfault (which I will shortly do), or when a test starts segfaulting of
>> it's own accord.
>>
>> This behavior is enabled by default, but can be disabled by passing
>> --allow-segfaults to the test, which should make for better debugging
>> of the cause of the segfault.
>>
>> This patch uses setjmp() / longjmp() to accomplish the recovery from
>> a SIGSEGV.
>> While I'd highly frown upon those function in general purpose use, I
>> believe
>> this is an understandable exception. Because it is so rare to use them,
>> my personal experience is limited, so review and corrections are of
>> course
>> welcomed.
>
> I've never seen setjmp/longjump used for this, but it's interesting.
>
> One question, could you use sigsetjmp/siglongjmp instead of manually
> putting back disposition the to default with apr_signal? I guess you
> would use apr_signal after the sigsetjump in that case.

Are the sig* variants available on all platforms? I don't recall seeing
them in the C90 stdlib.

-- Brane
Received on 2010-12-15 10:33:09 CET

This is an archived mail posted to the Subversion Dev mailing list.