summaryrefslogtreecommitdiff
path: root/src/mac.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2008-01-11 10:29:07 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2008-01-11 10:29:07 +0000
commit5ee4de5319f07e1da96835eece3d8a79cdae3da2 (patch)
treedc16e819f285dfe7bb3dea3a69e6425123cc9f7d /src/mac.c
parentd31dcb1196027caddddd1b45fccc553f15738c05 (diff)
(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.
Diffstat (limited to 'src/mac.c')
-rw-r--r--src/mac.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mac.c b/src/mac.c
index e8cb6a15402..dace8864320 100644
--- 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);