Date: Sat, 23 Aug 1997 17:57:37 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: marcs@znep.com (Marc Slemko) Cc: sef@Kithrup.COM, julian@FreeBSD.ORG, current@FreeBSD.ORG Subject: Re: I've broken ping Message-ID: <199708240057.RAA05197@phaeton.artisoft.com> In-Reply-To: <Pine.BSF.3.95.970823010850.6677D-100000@alive.znep.com> from "Marc Slemko" at Aug 23, 97 01:19:45 am
next in thread | previous in thread | raw e-mail | index | archive | help
> Running under 2.2-stable from a week or two ago, both the 2.2 and -current > ping are still broken. I am seeing it hang in pr_addr if the reverse isn't > resolvable; ^C wont kill it because it appears like a function call is > being restarted. I am confused about why this is happening. ISTR some > changes in FreeBSD WRT this that I haven't had time to follow. > > Changing the sigaction() back to a signal() fixes this particular case. > The signal() man page says function calls will be restarted, but the > sigaction() man page implies they won't without SA_RESTART. That follows > with what I am aware that recent BSD code does. It doesn't seem to fit > with what I am seeing. We went over the whole signal fiasco a while back. Restart depends on the compatability interface use to set the thing up. You could have equally done: siginterrupt( SIGINT, 1); siginterrupt( SIGALRM, 1); to stop them restarting, and left it "signal()". Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708240057.RAA05197>