]> code.delx.au - gnu-emacs/commit
Add external socket launching support
authorMatthew Leach <matthew@mattleach.net>
Sat, 16 Apr 2016 09:43:01 +0000 (12:43 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 16 Apr 2016 09:43:01 +0000 (12:43 +0300)
commite390b7b54651d3c5a4c36168e84e96e197631f41
treed4ccdf1d6e243e9a5f58b42e78de349a1ffbc6c2
parentbb8c8fdfbb226ea760e8e5761ecda98c8cd9564f
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'.
configure.ac
doc/emacs/misc.texi
doc/lispref/processes.texi
etc/NEWS
lisp/server.el
src/Makefile.in
src/emacs.c
src/lisp.h
src/process.c