From xemacs-m  Fri Mar 14 11:48:43 1997
Received: from cbgw2.lucent.com (cbgw2.lucent.com [192.20.239.134])
	by xemacs.org (8.8.5/8.8.5) with SMTP id LAA11150
	for <xemacs-beta@xemacs.org>; Fri, 14 Mar 1997 11:48:42 -0600 (CST)
Received: from fragola.hr.lucent.com by cbig2.firewall.lucent.com (SMI-8.6/EMS-L sol2)
	id MAA21580; Fri, 14 Mar 1997 12:47:23 -0500
Received: from localhost (rsi@localhost)
	by fragola.hr.lucent.com (8.8.5/8.8.5) with SMTP id MAA20103
	for <xemacs-beta@xemacs.org>; Fri, 14 Mar 1997 12:49:50 -0500 (EST)
Message-Id: <199703141749.MAA20103@fragola.hr.lucent.com>
X-Authentication-Warning: fragola.hr.lucent.com: rsi@localhost didn't use HELO protocol
To: xemacs-beta@xemacs.org
From: Rajappa Iyer <rsi@lucent.com>
Reply-To: rsi@lucent.com
Subject: 19.15-b98 partial solution for SunOS slowness
Date: Fri, 14 Mar 1997 12:49:49 -0500
Sender: rsi@fragola.hr.lucent.com

The following patch improves the performance of XEmacs on SunOS 4.1.4
quite a bit. It just cuts out calls to any signal related functions if
SIGCHLD did not occur. So far, after one day of heavy
edit-compile-debug, I have not observed any ill effects. I have not
tested it on any other platform.

Regards,
Rajappa

--- process.c.orig	Fri Mar 14 12:43:36 1997
+++ process.c	Fri Mar 14 12:44:03 1997
@@ -2152,6 +2152,8 @@
   int i;
   struct Lisp_Process *p;
 
+  if (exited_processes_index <= 0)
+      return;
   EMACS_BLOCK_SIGNAL (SIGCHLD);
   for (i = 0; i < exited_processes_index; i++)
     {
@@ -2232,6 +2234,8 @@
 static void
 record_exited_processes (int block_sigchld)
 {
+  if (!sigchld_happened)
+      return;
   if (block_sigchld)
     EMACS_BLOCK_SIGNAL (SIGCHLD);
 
--
Rajappa Iyer <rsi@lucent.com>		#include <std_disclaimer.h>
	They also surf who only stand on the waves.

