tramp-devel
[Top][All Lists]
Advanced

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

Re: tramp (2.1.15); TRAMP doesn't recognize subprocess death


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 if
you 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 chance
to 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#l1282

This 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








reply via email to

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