On Sun, Mar 17, 2002 at 10:17:39PM -0800, Alfred Perlstein wrote:
> * Dag-Erling Smorgrav <[EMAIL PROTECTED]> [020317 19:27] wrote:
> > 
> > ...the process has no open files at all, because...
> > 
> > (kgdb) p p->p_pid
> > $4 = 10099
> > (kgdb) p p->p_comm
> > $5 = "wc\000oot", '\000' <repeats 13 times>
> > (kgdb) p p->p_stat
> > $6 = 3
> > (kgdb) p/x p->p_flag
> > $7 = 0x6000
> > 
> > ...it's exiting, and fdfree() has already run.
> > 
> > Solution: p->p_fd must be protected by p's proc lock; fdfree() must
> > set it to NULL immediately after freeing it; checkdirs() must lock
> > each process before examining its fd list.
> > 
> > Other problem spotted while investigating this: fdfree() can fail
> > silently; fdfree() should panic if fdp->fd_refcnt is non-zero.
> 
> Please let me know if this works for you.

Thanks, will test once the current run is finished.

Kris

Attachment: msg36280/pgp00000.pgp
Description: PGP signature

Reply via email to