Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Feb 2004 08:14:50 -0800 (PST)
From:      Ian Dowse <iedowse@FreeBSD.org>
To:        jau@iki.fi, iedowse@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject:   Re: kern/62524: SIGALRM is not delivered when res_send() hangs waiting in kevent()
Message-ID:  <200402081614.i18GEo3C033732@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
Synopsis: SIGALRM is not delivered when res_send() hangs waiting in kevent()

State-Changed-From-To: open->closed
State-Changed-By: iedowse
State-Changed-When: Sun Feb 8 08:07:35 PST 2004
State-Changed-Why: 

Submitter confirms that it was a problem with the application, not
kevent or the resolver:

>>Are you sure that there isn't something more needed for the problem
>>to occur? I can't reproduce this as you describe with the program
>>below; the SIGARLM handler keeps getting called as expected.
>>
>>Ian
>        You got it quite right.
>        I saw two separate calls to gethostbyaddr() one of which was
>        not properly inside the region of code which is interruptible
>        by SIGALRM.
>        Obviously enough the one outside of the interruptible region
>        had no signal delivered because the signal was blocked from
>        delivery.
>
>
>        Cheers,
>                // jau

...

>Quoting Ian Dowse:
>> 
>> Does that mean the PR can be closed? I'm not sure if it's related,
>> but there is another PR, bin/4696, which reports this problem in
>> ping(8). Ping will hang in a state where it ignores ^C and sends
>> no packets until a gethostbyaddr() call completes. I think it only
>> happens when ping gets an error reply and tries to look up the IP
>> that sent the error.
>
>        Right, my complaint should have never been written. The code
>        just happened to be big and complex enough to hide the fact
>        there were calls to gethostbyaddr() also inside a region that
>        was protected from signals. All name resolution should have
>        been considered "nice to have" and done only when there was
>        nothing more important to do.
...


http://www.freebsd.org/cgi/query-pr.cgi?pr=62524



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402081614.i18GEo3C033732>