lisp/server.el: Use just one way to pass the Emacs PID to emacsclient.
authorJuanma Barranquero <lekktu@gmail.com>
Thu, 30 Sep 2010 02:53:26 +0000 (04:53 +0200)
committerJuanma Barranquero <lekktu@gmail.com>
Thu, 30 Sep 2010 02:53:26 +0000 (04:53 +0200)
* 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.

lib-src/ChangeLog
lib-src/emacsclient.c
lisp/ChangeLog
lisp/server.el

index 2c38625..33036c9 100644 (file)
@@ -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.
index 1f96c48..4d8a835 100644 (file)
@@ -910,14 +910,13 @@ initialize_sockets (void)
 \f
 /*
  * 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 @@ get_server_config (struct sockaddr_in *server, char *authentication)
     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 @@ get_server_config (struct sockaddr_in *server, char *authentication)
 
   fclose (config);
 
-  emacs_pid = atoi (pid);
-
   return TRUE;
 }
 
index c19eaaf..a5d1717 100644 (file)
@@ -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)
index 3a48efe..87250fd 100644 (file)
@@ -586,7 +586,6 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
                (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 @@ Server mode runs a process that accepts commands from the
     ;; 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 @@ The following commands are accepted by the client:
   (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)