>    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

Reply via email to