Subject: Re: bug#18396: 24.3.1; On windows, process-send-string can freeze Emacs

From: Eli Zaretskii <[email-masked]>
Date: Tue, 09 Sep 2014 21:45:23 +0300

> Date: Thu, 04 Sep 2014 05:51:45 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > > > Does Emacs have a chance to check for a pipe to be writable before
> > > > doing so? The whole process blocking like this feels a bit weird.
> > > 
> > > I don't know how to do such a check with pipes on Windows.  More
> > > importantly, how would that help?  The pipe will fill up anyway, and
> > > the communications with Python will stop.  Being able to interrupt
> > > with C-g vs killing the subprocess is not such a big win, IMO.
> > 
> > Well, if the deadlock hypothesis is correct, Emacs would check if the
> > pipe is writable, notice that it isn't and keep checking, to notice
> > that the pipe is readable, read data, and thus break the deadlock.
> 
> See above: there's no interconnection between reading and writing, so
> that's not the problem.

I've just posted a tentative patch for the deadlock problem in
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18420#20.  If some of
your users can build their own Emacs, please ask them to apply the
patch and see if it resolves the problem.

Thanks.