[PATCH]: possible fix for the fifoor problem

Jung-uk Kim jkim at FreeBSD.org
Tue Nov 7 09:49:03 PST 2006


On Tuesday 07 November 2006 12:33 pm, Divacky Roman wrote:
> On Tue, Nov 07, 2006 at 10:24:04AM -0700, John E Hein wrote:
> > Jung-uk Kim wrote at 12:01 -0500 on Nov  7, 2006:
> >  > Try the attached patch instead.
> >  >
> >  > Jung-uk Kim
> >  > --- src/sys/compat/linux/linux_stats.c.orig	Sun Oct 22
> >  > 07:52:11 2006 +++ src/sys/compat/linux/linux_stats.c	Tue Nov 
> >  > 7 11:59:21 2006 @@ -130,7 +130,7 @@
> >  >  	int temp;
> >  >
> >  >  	temp = td->td_retval[0];
> >  > -	if (kern_open(td, path, UIO_SYSSPACE, O_RDONLY, 0) != 0)
> >  > +	if (kern_open(td, path, UIO_SYSSPACE, O_RDONLY | O_NONBLOCK,
> >  > 0) != 0) return;
> >  >  	fd = td->td_retval[0];
> >  >  	td->td_retval[0] = temp;
> >
> > Yep.
> > That fixes the problem with linux-seamonkey I reported.
>
> hm... why my patch doesnt work then? :)

Your patch has two major flaws.  1) it does not check error, 2) actual 
failure happens in linux_*stat*(), not in linux_open(). :-)

Jung-uk Kim


More information about the freebsd-emulation mailing list