GNU bug report logs -
#21617
Emacs compilation mode prevents child processes from spawning/forking daemons
Previous Next
Full log
View this message in rfc822 format
> Date: Mon, 5 Oct 2015 10:58:33 +0200
> From: Paul Pogonyshev <pogonyshev <at> gmail.com>
>
> By comparison, when run from Emacs M-x compile, Gradle starts daemon every
> time, so all builds look like the first example above. However, if daemon
> already exists (e.g. created by console run above), it will not be killed.
>
> File '~/.gradle/daemon/VERSION/daemon-PID.out.log' for daemons spawned after
> M-x compile ends with this line:
>
> Daemon vm is shutting down... The daemon has exited normally or was terminated
> in response to a user interrupt.
>
> When daemon is allowed to exist (e.g. when run from a normal console), log
> receives this message instead:
>
> ... Daemon is idle, sleeping until state change or idle timeout at ...
>
> Additionally, I checked several other ways to run process from Emacs:
>
> * M-x eshell: daemon is killed, as with M-x compile
> * M-x shell: daemon works properly
> * M-!: daemon works properly
>
> So, it seems that Emacs has a way to keep daemons alive / not kill them, but it
> is not used in compilation mode.
I just tried
M-x compile RET C-a C-k emacs -Q -daemon RET
and that started a daemon which stayed up in the air and didn't exit
or get killed. If you see the same on your system, then Gradle,
whatever that is, is indeed somehow involved in this, because without
it everything works as you expected.
Also, you didn't tell which version of Emacs you used (I used the
latest development sources).
This bug report was last modified 7 years and 74 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.