]> code.delx.au - gnu-emacs/commitdiff
(mac_emacs_pid) [MAC_OSX]: New variable.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 11 Jan 2008 10:29:07 +0000 (10:29 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 11 Jan 2008 10:29:07 +0000 (10:29 +0000)
[MAC_OSX] (init_mac_osx_environment): Initialize it.
[MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
when used on child processes.

src/ChangeLog
src/mac.c

index 287959462be16ce9bb83d30978351d7804fa985b..25b994e3ab84b2f4bdc0358e036ce55573a98936 100644 (file)
@@ -1,3 +1,10 @@
+2008-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
+       [MAC_OSX] (init_mac_osx_environment): Initialize it.
+       [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
+       when used on child processes.
+
 2008-01-10  Chong Yidong  <cyd@stupidchicken.com>
 
        * process.c (wait_reading_process_output): Check for window
index e8cb6a1540206d0bfbd08d728103f90233ad07e5..dace8864320059159886be242d78fcba788abb80 100644 (file)
--- a/src/mac.c
+++ b/src/mac.c
@@ -5013,6 +5013,9 @@ extern int noninteractive;
    sys_select.  */
 static CFMutableDictionaryRef cfsockets_for_select;
 
+/* Process ID of Emacs.  */
+static pid_t mac_emacs_pid;
+
 static void
 socket_callback (s, type, address, data, info)
      CFSocketRef s;
@@ -5092,7 +5095,7 @@ mac_try_close_socket (fd)
      int fd;
 {
 #if SELECT_USE_CFSOCKET
-  if (cfsockets_for_select)
+  if (getpid () == mac_emacs_pid && cfsockets_for_select)
     {
       void *key = (void *) fd;
       CFSocketRef socket =
@@ -5329,6 +5332,8 @@ init_mac_osx_environment ()
   char *p, *q;
   struct stat st;
 
+  mac_emacs_pid = getpid ();
+
   /* Initialize locale related variables.  */
   mac_system_script_code =
     (ScriptCode) GetScriptManagerVariable (smSysScript);