changeset 43972:31b6bf22b82b

Enhanced network process support.
author Kim F. Storm <storm@cua.dk>
date Sun, 17 Mar 2002 20:33:31 +0000
parents 92d4c0ba3ff9
children 7e66682c7ec6
files lisp/ChangeLog src/ChangeLog
diffstat 2 files changed, 81 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Mar 17 20:32:20 2002 +0000
+++ b/lisp/ChangeLog	Sun Mar 17 20:33:31 2002 +0000
@@ -1,3 +1,27 @@
+2002-03-17  Kim F. Storm  <storm@cua.dk>
+
+	The following changes are related to the enhanced network process
+	support.
+
+	* simple.el: Update copyright.
+	(clone-process): Use make-network-process to clone network
+	processes. Get command list via (process-contact ... t).
+	Use set-process-query-on-exit-flag and process-query-on-exit-flag
+	instead of process-kill-without-query.
+	(open-network-stream): Replaces C-version from process.c.
+	(open-network-stream-nowait, open-network-stream-server): New
+	functions.
+	(process-kill-without-query): Replaces C-version from process.c.
+
+	* files.el: Update copyright.
+	(save-buffers-kill-emacs): Also check for active server
+	processes.  Use process-query-on-exit-flag.  Only list processes
+	which has the query-on-exit flag set in connection with user query.
+
+	* shadowfile.el: Update copyright.
+	(shadow-save-buffers-kill-emacs): Also check for active server
+	processes.  Use process-query-on-exit-flag.
+
 2002-03-16  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* international/codepage.el (codepage-setup): Don't define a
--- a/src/ChangeLog	Sun Mar 17 20:32:20 2002 +0000
+++ b/src/ChangeLog	Sun Mar 17 20:33:31 2002 +0000
@@ -1,3 +1,60 @@
+2002-03-17  Kim F. Storm  <storm@cua.dk>
+
+	The following changes adds support for network server processes,
+	datagram connections, and local (unix) sockets.
+
+	* process.h (struct Lisp_Process): New member log.
+	Doc fix: Member command used to indicate stopped network process.
+	Doc fix: Member childp contains plist for network process.
+	Doc fix: Member kill_without_query is inverse of query-on-exit flag.
+
+	* process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
+	(QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
+	(QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
+	New variables.
+	(NETCONN1_P): New macro.
+	(DATAGRAM_SOCKETS): New conditional symbol.
+	(datagram_address): New array.
+	(DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
+	(status_message): Use concat3.
+	(Fprocess_status): Add `listen' status to doc string.  Return `stop'
+	for a stopped network process.
+	(Fset_process_buffer): Update contact plist for network process.
+	(Fset_process_filter): Ditto.  Don't enable input for stopped
+	network processes.  Server must listen, even if filter is t.
+	(Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
+	New functions.
+	(Fprocess_kill_without_query): Removed.  Now defined in simple.el.
+	(Fprocess_contact): Added KEY argument.  Handle datagrams.
+	(list_processes_1): Optionally show only processes with the query
+	on exit flag set.  Dynamically adjust column widths.  Omit tty
+	column if not needed.  Report stopped network processes.
+	Identify server and datagram network processes.
+	(Flist_processes): New optional arg `query-only'.
+	(conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
+	(conv_lisp_to_sockaddr, set_socket_options)
+	(network_process_featurep, unwind_request_sigio): New helper functions.
+	(Fprocess_datagram_address, Fset_process_datagram_address):
+	(Fset_network_process_options): New lisp functions.
+	(Fopen_network_stream): Removed.  Now defined in simple.el.
+	(Fmake_network_process): New lisp function.  Code is based on previous
+	Fopen_network_stream, but heavily reworked with new property list based
+	argument list, support for datagrams, server processes, and local
+	sockets in addition to old client-only functionality.
+	(server_accept_connection): New function.
+	(wait_reading_process_input): Use it to handle incoming connects.
+	Do not enable input on a new connection if process is stopped.
+	(read_process_output): Handle datagram sockets. Use 2k buffer for them.
+	(send_process): Handle datagram sockets.
+	(Fstop_process, Fcontinue_process): Apply to network processes.  A stopped
+	network process is indicated by setting command field to t .
+	(Fprocess_send_eof): No-op if datagram connection.
+	(Fstatus_notify): Don't read input for a stream server socket or a
+	stopped network process.
+	(init_process): Initialize datagram_address array.
+	(syms_of_process): Intern and staticpro new variables, defsubr new
+	functions.
+
 2002-03-16  Jason Rumney  <jasonr@gnu.org>
 
 	* w32fns.c (w32_to_all_x_charsets): Return correct type in