This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: emacs 24.3.1: output from async-shell-command is not always displayed
- From: Filipp Gunbin <fgunbin at fastmail dot fm>
- To: cygwin at cygwin dot com
- Date: Wed, 18 Jun 2014 19:23:35 +0400
- Subject: Re: emacs 24.3.1: output from async-shell-command is not always displayed
- Authentication-results: sourceware.org; auth=none
- References: <86zjhbpf9b dot fsf at w2139spb dot ru dot yotateam dot com> <53A0EF03 dot 8060001 at cornell dot edu> <86lhsupj6c dot fsf at w2139spb dot ru dot yotateam dot com> <f5b4mzigx07 dot fsf at troutbeck dot inf dot ed dot ac dot uk>
On 18/06/2014 17:36 +0400, Henry S. Thompson wrote:
> Filipp Gunbin writes:
>
>> When I call such a script (catalina.sh, for example), its output is
>> displayed in *Asynchronous Shell Command*, but the program starting from
>> it with & (java usually) is not started (or started and killed
>> immediately). I supposed that maybe it's killed when the parent process
>> finishes. From looking at lisp code of async-shell-command I can't see
>> anything which differs from shell-command in this way. I tried to
>> narrow the problem and got the case I've posted here initially, but now
>> I think those could be different problems.
>
> This sounds very much like it _may_ be the same problem as discussed
> (at inconclusive length, sorry!) wrt xemacs in this thread:
>
> http://lists.xemacs.org/pipermail/xemacs-beta/2014-January/024736.html
>
> I've burned a lot of midnight oil on that one, with no real joy as
> yet.
>
> At the very least it does seem like there was some change in
> Cygwin pty/signal area some time back which affects the way emacsen
> try to communicate with sub-processes. . .
Thanks Henry,
I've tried the earliest snapshot on cygwin.com (2013-12-01) and it
behaves the same.
One of my scripts (catalina.sh from Tomcat) works fine, but another
(ActiveMQ) does not. The difference between them is that catalina.sh
just runs `java ... &' and activemq runs `sh -c "java ... &"'. When I
remove "sh -c" part it also works fine!
So I've modified my test case as follows:
echo 'sh -c "touch /tmp/test/${RANDOM}.txt &"' > /tmp/1.sh
Now, `M-x async-shell-command /tmp/1.sh' sometimes produces new file in
/tmp/test and sometimes not! Strangely, if invoked multiple times, it
gives success-fail-success-fail-... Running just "/tmp/1.sh &" from
terminal always produces new file.
Filipp
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple