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>