changeset 110660:4b5aaeebe785

lisp/server.el: Use just one way to pass the Emacs PID to emacsclient. * lib-src/emacsclient.c (get_server_config): Don't read Emacs pid from the authentication file. * lisp/server.el (server-start): Don't write pid to the authentication file. (server-create-tty-frame): Don't send pid. (server-process-filter): Send pid at the start of every connection.
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 30 Sep 2010 04:53:26 +0200
parents 9c32589c702d
children 2b8ece636433
files lib-src/ChangeLog lib-src/emacsclient.c lisp/ChangeLog lisp/server.el
diffstat 4 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/ChangeLog	Wed Sep 29 19:23:25 2010 -0700
+++ b/lib-src/ChangeLog	Thu Sep 30 04:53:26 2010 +0200
@@ -1,3 +1,8 @@
+2010-09-30  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacsclient.c (get_server_config): Don't read Emacs pid from
+	the authentication file.
+
 2010-09-29  Juanma Barranquero  <lekktu@gmail.com>
 
 	* makefile.w32-in (../src/config.h): Remove target, it is stale.
--- a/lib-src/emacsclient.c	Wed Sep 29 19:23:25 2010 -0700
+++ b/lib-src/emacsclient.c	Thu Sep 30 04:53:26 2010 +0200
@@ -910,14 +910,13 @@
 
 /*
  * Read the information needed to set up a TCP comm channel with
- * the Emacs server: host, port, pid and authentication string.
+ * the Emacs server: host, port, and authentication string.
  */
 int
 get_server_config (struct sockaddr_in *server, char *authentication)
 {
   char dotted[32];
   char *port;
-  char *pid;
   FILE *config = NULL;
 
   if (file_name_absolute_p (server_file))
@@ -948,12 +947,8 @@
     return FALSE;
 
   if (fgets (dotted, sizeof dotted, config)
-      && (port = strchr (dotted, ':'))
-      && (pid = strchr (port, ' ')))
-    {
-      *port++ = '\0';
-      *pid++  = '\0';
-    }
+      && (port = strchr (dotted, ':')))
+    *port++ = '\0';
   else
     {
       message (TRUE, "%s: invalid configuration info\n", progname);
@@ -972,8 +967,6 @@
 
   fclose (config);
 
-  emacs_pid = atoi (pid);
-
   return TRUE;
 }
 
--- a/lisp/ChangeLog	Wed Sep 29 19:23:25 2010 -0700
+++ b/lisp/ChangeLog	Thu Sep 30 04:53:26 2010 +0200
@@ -1,3 +1,9 @@
+2010-09-30  Juanma Barranquero  <lekktu@gmail.com>
+
+	* server.el (server-start): Don't write pid to the authentication file.
+	(server-create-tty-frame): Don't send pid.
+	(server-process-filter): Send pid at the start of every connection.
+
 2010-09-30  Glenn Morris  <rgm@gnu.org>
 
 	* calendar/diary-lib.el (view-diary-entries, list-diary-entries)
--- a/lisp/server.el	Wed Sep 29 19:23:25 2010 -0700
+++ b/lisp/server.el	Thu Sep 30 04:53:26 2010 +0200
@@ -586,7 +586,6 @@
 		(setq buffer-file-coding-system 'no-conversion)
 		(insert (format-network-address
 			 (process-contact server-process :local))
-			" " (int-to-string (emacs-pid))
 			"\n" auth-key)))))))))
 
 ;;;###autoload
@@ -706,9 +705,6 @@
     ;; Display *scratch* by default.
     (switch-to-buffer (get-buffer-create "*scratch*") 'norecord)
 
-    ;; Reply with our pid.
-    (server-send-string proc (concat "-emacs-pid "
-                                     (number-to-string (emacs-pid)) "\n"))
     frame))
 
 (defun server-create-window-system-frame (display nowait proc parent-id)
@@ -889,6 +885,9 @@
   (condition-case err
       (progn
 	(server-add-client proc)
+	;; Send our pid
+	(server-send-string proc (concat "-emacs-pid "
+					 (number-to-string (emacs-pid)) "\n"))
 	(if (not (string-match "\n" string))
             ;; Save for later any partial line that remains.
             (when (> (length string) 0)