> If you can reproduce the problem regularly then I recommend putting
> a signal guard in to see if the corruption is being caused by the
> signal interrupting at an inausipcious moment.
>
> In main() block SIGHUP, SIGINT, SIGTERM, and SIGCHLD using sigsetmask().
>
> Just prior to the select call unblock the signals.
>
> Just after the select call reblock the signals.
>
> And see if the corruption still occurs. If this fixes the problem,
> then there is probably something in the reaper() (in yp_main.c)
> that is causing corruption, probably by ripping a structure out from
> under whatever piece of code the signal happens to interrupt.
>
> I took a quick look at the code and as far as I can tell it implements
> no guards whatsoever. The inetd code had similar problems in the past.
Alas, this is not something I have been able to reliably reproduce, it seems
to trigger itself every so-often (and at inconvienient times). But no
matter what I do by myself it will not trip.
--
David Cross | email: [EMAIL PROTECTED]
Lab Director | Rm: 308 Lally Hall
Rensselaer Polytechnic Institute, | Ph: 518.276.2860
Department of Computer Science | Fax: 518.276.4033
I speak only for myself. | WinNT:Linux::Linux:FreeBSD
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message