|
From: | David Abrahams |
Subject: | Re: tramp (2.1.15); TRAMP doesn't recognize subprocess death |
Date: | Wed, 15 Apr 2009 10:42:33 -0400 |
On Apr 13, 2009, at 12:38 PM, David Abrahams wrote:
On Apr 12, 2009, at 2:33 PM, Michael Albinus wrote:David Abrahams <address@hidden> writes:Visit a remote file. `M-x compile' `ls' ;; or whatever short command you please `M-x compile'Compilation mode will tell you a compilation is still running and ask ifyou want it killed. This is not a serious problem for compilation,although it is an inconvenience. It's worse for something like psvn, which relies on being able to know that the svn process has finished.In Tramp 2.1.16-pre this was fixed some weeks ago. Do you see a chanceto test it, using Tramp's CVS repository? This code is not merged yet with GNU Emacs.Looks like it works, thanks!
Hmm, I take it back, maybe. It could also be a psvn.el bug, or maybe it's a bug in emacs' whole system for handling asynchronous processes; I'm not sure.
See http://svn.collab.net/viewvc/svn/trunk/contrib/client-side/emacs/psvn.el?revision=37144&view=markup#l1282This code essentially launches a process and then sets the process sentinel. What's happening is that -- sometimes only, maybe when the process output is large enough -- the process sentinel never gets called. The Emacs documentation isn't very clear on what is supposed to happen in that case. Is there a race condition between the process finishing and the setting of the sentinel? If the process finishes first, is the sentinel still supposed to be called? It seems like the answer /ought/ to be yes, since otherwise there is a race condition, and Emacs doesn't seem to give you anyway to set up the sentinel at the same time as (or before) launching the process.
-- David Abrahams BoostPro Computing http://boostpro.com
[Prev in Thread] | Current Thread | [Next in Thread] |