summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
authorMatthew Leach <matthew@mattleach.net>2016-04-16 12:43:01 +0300
committerEli Zaretskii <eliz@gnu.org>2016-04-16 12:43:01 +0300
commite390b7b54651d3c5a4c36168e84e96e197631f41 (patch)
treed4ccdf1d6e243e9a5f58b42e78de349a1ffbc6c2 /lisp/server.el
parentbb8c8fdfbb226ea760e8e5761ecda98c8cd9564f (diff)
downloademacs-e390b7b54651d3c5a4c36168e84e96e197631f41.tar.gz
Add external socket launching support
* src/process.c (connect_network_socket): Allow a pre-allocated socket descriptor to be used if passed to Emacs, avoiding the call to 'socket' and 'bind'. (Fmake_network_process): Allow users to pass ':use-external-socket' in the parameter plist to use any sockets that have been passed to Emacs. (wait_reading_process_output): Call 'socket' and 'bind' every time. (syms_of_process): New symbol ':use-external-socket'. (set_external_socket_descriptor): New function. (external_sock_fd): New variable. * src/lisp.h: (set_external_socket_descriptor): New declaration. * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets passed and call 'set_external_socket_descriptor' to set the external socket. * src/Makefile.in: Add libsystemd library and C flags to the Emacs compilation options. * configure.ac: Add new default-on option "systemd" and check for libsystemd at configure time. * lisp/server.el (server-start): Set ':use-external-socket' to 't' when calling 'make-network-process'. * etc/NEWS: Document new socket-passing functionality and the configure option to disable systemd interaction. * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing functionality and provide systemd unit examples. * doc/lispref/processes.texi (Network Processes): Document new 'make-network-process' option ':use-external-socket'.
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el1
1 files changed, 1 insertions, 0 deletions
diff --git a/lisp/server.el b/lisp/server.el
index 524382073f8..2a9729e9d1f 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -655,6 +655,7 @@ server or call `\\[server-force-delete]' to forcibly disconnect it."))
:noquery t
:sentinel #'server-sentinel
:filter #'server-process-filter
+ :use-external-socket t
;; We must receive file names without being decoded.
;; Those are decoded by server-process-filter according
;; to file-name-coding-system. Also don't get