guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Fix get-bytevector-all read redundant eof


From: Nala Ginrut
Subject: Re: [PATCH] Fix get-bytevector-all read redundant eof
Date: Sat, 16 Mar 2013 12:25:57 +0800

On Fri, 2013-03-15 at 17:20 -0400, Mark H Weaver wrote:
> Nala Ginrut <address@hidden> writes:
> 
> > On Thu, 2013-03-14 at 17:30 +0800, Nala Ginrut wrote:
> >> Attached the patch to fix get-bytevector-all.
> >> You may check it like this:
> >> (get-bytevector-all (current-input-port))
> >> 
> >> And try to input then type ctrl+d, the current implementation needs you
> >> type ctrl+d twice.
> >> 
> >> Regards.
> >
> >
> > Sorry, but I realized that this patch only fixed when you type ctrl+d in
> > the beginning. But if you input something, the problem is still there.
> > I'll look deeper.
> 
> FWIW, I suspect you'll have to dig fairly deep to fix this properly.
> AFAIK, the ports code was not designed to ensure that exactly one EOF is
> reported to the user for each EOF returned by the kernel.  I hope to
> look into this soon (possibly before 2.0.8), as part of my investigation
> of <http://bugs.gnu.org/12216>.
> 

Yes, I tried the bug-demo code of dwheeler, and found that EOF seems was
eaten in somewhere. 
I read the code on the calling-tree of scm_peek_char, but hardly find
the problem related. 
Maybe it's something about the 'port' implementation?

>     Thanks,
>       Mark





reply via email to

[Prev in Thread] Current Thread [Next in Thread]