emacs-devel
[Top][All Lists]
Advanced

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

Re: process.c changes causes problem with JDEbug of the JDE package


From: David Kastrup
Subject: Re: process.c changes causes problem with JDEbug of the JDE package
Date: 30 Jan 2004 15:13:33 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

address@hidden (Kim F. Storm) writes:

> David Kastrup <address@hidden> writes:
> 
> > Uh, accept-process-output does not guarantee that you get any
> > output that the process has not yet managed to produce.  This
> > looks like jde-dbs.el contains a definite race condition.
> 
> So is there a bug in process-adaptive-read-buffering, or not?

That would not seem like a bug in process-adaptive-read-buffering but
in jde-dbs.el.  However, if process-adaptive-read-buffering is
behaving like you claim, the visibility of the bug should not change
depending on process-adaptive-read-buffering.

> > Unless at that point of time the process has already finished and
> > jde-dbs knows about that.  In that case there would be no point
> > for process-adaptive-read-buffering to hold back any input
> > anymore.
> 
> When does it do that?
> 
> > Also it might be an idea to reset the timers for adaptive read
> > buffering not only when one is writing to the process, but also
> > when one is starting it, and of course after it has finished.
> 
> IIRC, that's what it is doing already -- timers are reset by
> start-process and on write, and the process is ignored in adaptive
> read buffering after it has been deactivated.

Well, jde-dbs starts a process and then is not happy that the _first_
read on the process does not yield output.  So whatever "timers are
reset" means, it does not seem to be "first read will just hand over
what is there as if process-adaptive-read-buffering was not set".

> > That way, typical interactive applications will never see an
> > adverse effect from adaptive read buffering.
> 
> Have you observed such effects?

I am just speculating, but we are currently trying to find out what
makes jde-dbs.el fail.  It would appear from the quoted code snippet
that it has a bug (aka race condition), but
process-adaptive-read-buffering should not make this bug more visible
if it was behaving as you describe.  Since the behavior you describe
is the intended behavior, I think one should not merely wait for
jde-dbs.el to get its race condition fixed but also check why we
trigger it in the first place.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum





reply via email to

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