Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys
Chuck Silvers <chuq%chuq.com@localhost> wrote:
> > > ...
> > > cvs rdiff -u -r1.150 -r1.151 src/sys/kern/kern_lwp.c
> > > cvs rdiff -u -r1.167 -r1.168 src/sys/kern/kern_proc.c
> > > ...
> >
> > I have added assert on proc_lock into proc_find(), but not proc_find_raw
> > (), because the later is for special cases, including DDB, where we do
> > not hold the locks. DDB would fire asserts now.
>
> oops, I was fooled by the comment right before it.
> the attached patch has proc_find_raw() check for either proc_lock being
> held or DDB being active, does that look better?
Seems good, except I would avoid such ad hoc #ifdefs. How about adding
public MI routine, something like:
bool
ddb_active_p(void)
{
#ifdef DDB
extern int db_active;
return db_active != 0;
#else
return false;
#endif
}
> > Also, from lwp_exit():
> >
> > + if ((l->l_pflag & LP_PIDLID) != 0 && l->l_lid != p->p_pid) {
> > + proc_free_pid(l->l_lid);
> > + }
> >
> > The lid != pid check is a micro-optimisation for one-LWP case, right?
>
> no, it's to avoid freeing the pid twice (since proc_free() will free it
> too).
OK. Can you please add a comment about it?
Thanks!
>
> -Chuck
--
Mindaugas
Home |
Main Index |
Thread Index |
Old Index