cvs commit: src/sys/kern kern_conf.c
Gary Jennejohn
garyj at jennejohn.org
Wed Nov 1 21:31:58 UTC 2006
Giorgos Keramidas writes:
> On 2006-10-19 02:49, Giorgos Keramidas <keramida at freebsd.org> wrote:
> > Maybe it's not related, but all xterm's seem unkillable and blocked
> > forever in "devdrn" here, in a build from 2006.10.18.15.56.11.
> >
> > An earlier sync from 2006.10.13.12.45.54 didn't exhibit this behavior,
> > so I guess there's something mildly buggy with this change?
>
> I still have to use the following local diff to get "killable" xterm
> processes:
>
> % diff -r a61844fa2f23 sys/kern/kern_conf.c
> % --- a/sys/kern/kern_conf.c Wed Nov 01 21:49:16 2006 +0200
> % +++ b/sys/kern/kern_conf.c Wed Nov 01 02:33:08 2006 +0200
> % @@ -676,7 +676,6 @@ destroy_devl(struct cdev *dev)
> % dev->si_flags &= ~SI_CLONELIST;
> % }
> %
> % - dev->si_refcount++; /* Avoid race with dev_rel() */
> % csw = dev->si_devsw;
> % dev->si_devsw = NULL; /* already NULL for SI_ALIAS */
> % while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount)
> {
> % @@ -686,10 +685,6 @@ destroy_devl(struct cdev *dev)
> % printf("Still %lu threads in %s\n",
> % dev->si_threadcount, devtoname(dev));
> % }
> % - while (dev->si_threadcount != 0) {
> % - /* Use unique dummy wait ident */
> % - msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10);
> % - }
> %
> % dev->si_drv1 = 0;
> % dev->si_drv2 = 0;
> % @@ -704,7 +699,6 @@ destroy_devl(struct cdev *dev)
> % fini_cdevsw(csw);
> % }
> % dev->si_flags &= ~SI_ALIAS;
> % - dev->si_refcount--; /* Avoid race with dev_rel() */
> %
> % if (dev->si_refcount > 0) {
> % LIST_INSERT_HEAD(&dead_cdevsw.d_devs, dev, si_list);
>
> If it is related, at all, I am using `kern.pts.enable=1' here, and a
> slightly modified GENERIC kernel config. The differences from GENERIC
> are mostly removed SCSI devices and added options for the PF firewall,
> but I can send a diff if needed.
>
Setting kern.pts.enable to 0 definitley makes a difference. xterm and
mrxvt exit as one would expect. With it set to 1 I was also seeing the
same problem you are. Looks like this change doesn't play nice with pts.
> Has this been fixed in HEAD, in a way that I missed while looking at the
> recent changes?
>
No, the problem still exists in a kernel which I just made from sources
cvsup'd not long ago. Of course, there is a time lag between commits and
updating of the mirrors.
---
Gary Jennejohn / garyjATjennejohnDOTorg gjATfreebsdDOTorg garyjATdenxDOTde
More information about the cvs-src
mailing list