summaryrefslogtreecommitdiff
path: root/doc/lispref
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2016-11-15 23:28:47 -0800
committerGlenn Morris <rgm@gnu.org>2016-11-15 23:28:47 -0800
commit36b99556dea23f17d5598bbed366e7201eec9fbb (patch)
treeb464455587a53e706288f95da497721c5c42a2c9 /doc/lispref
parent35007ad9daca9cac39fe758b5815aa6389379d38 (diff)
downloademacs-36b99556dea23f17d5598bbed366e7201eec9fbb.tar.gz
emacs-36b99556dea23f17d5598bbed366e7201eec9fbb.tar.bz2
emacs-36b99556dea23f17d5598bbed366e7201eec9fbb.zip
Add --new-daemon, which runs in the foreground and does not fork
This is intended for modern init systems such as systemd, which manage many of the traditional aspects of daemon behavior themselves. (Bug#2677) * src/emacs.c (daemon_type): New integer. (usage, standard_args): Add --old-daemon and --new-daemon. (main): Handle --old-daemon and --new-daemon arguments. Restrict all the forking and complicated daemon stuff to old-daemon. (Fdaemon_initialized): Handle new-style daemon. * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]: Replace daemon_pipe with daemon_type. * doc/emacs/cmdargs.texi (Initial Options): * doc/emacs/glossary.texi (Glossary): * doc/emacs/misc.texi (Emacs Server): * doc/lispref/display.texi (Window Systems): * doc/lispref/os.texi (Startup Summary): Related doc updates. * etc/NEWS: Mention this. * etc/emacs.service: Use Type=simple and --new-daemon.
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/display.texi2
-rw-r--r--doc/lispref/os.texi17
2 files changed, 11 insertions, 8 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 381edbac48a..d050738d80f 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -7166,7 +7166,7 @@ Emacs is displaying the frame on a character-based terminal.
@defvar initial-window-system
This variable holds the value of @code{window-system} used for the
first frame created by Emacs during startup. (When Emacs is invoked
-with the @option{--daemon} option, it does not create any initial
+as a daemon, it does not create any initial
frames, so @code{initial-window-system} is @code{nil}, except on
MS-Windows, where it is still @code{w32}. @xref{Initial Options,
daemon,, emacs, The GNU Emacs Manual}.)
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 97b086c0d37..3312705e167 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -112,8 +112,8 @@ compiled into the Emacs executable when it was built.
It runs the normal hook @code{before-init-hook}.
@item
-If appropriate, it creates a graphical frame. This is not done if the
-options @samp{--batch} or @samp{--daemon} were specified.
+If appropriate, it creates a graphical frame. This is not done in
+batch (noninteractive) or daemon mode.
@item
It initializes the initial frame's faces, and sets up the menu bar
@@ -256,10 +256,10 @@ options were specified.
@c last few bits of command-line-1 are not done in batch mode.
@item
-If the option @code{--daemon} was specified, it calls
-@code{server-start}, and on Posix systems also detaches from the
-controlling terminal. @xref{Emacs Server,,, emacs, The GNU Emacs
-Manual}.
+If a daemon was requested, it calls @code{server-start}.
+(On Posix systems, if a background daemon was requested, it then
+detaches from the controlling terminal.) @xref{Emacs
+Server,,, emacs, The GNU Emacs Manual}.
@item
If started by the X session manager, it calls
@@ -337,7 +337,10 @@ Do not display a splash screen.
Run without an interactive terminal. @xref{Batch Mode}.
@item --daemon
-Do not initialize any display; just start a server in the background.
+@itemx --old-daemon
+@itemx --new-daemon
+Do not initialize any display; just start a server.
+(An ``old-style'' daemon automatically runs in the background.)
@item --no-init-file
@itemx -q