[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dum
From: |
Paul Eggert |
Subject: |
Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump] |
Date: |
Thu, 6 Dec 2001 22:21:22 -0800 (PST) |
> Date: Thu, 6 Dec 2001 08:03:01 -0700 (MST)
> From: Richard Stallman <address@hidden>
>
> It seems that you understand this in great detail, and since you are
> interested in fixing this completely, please go ahead.
OK, done. It took me a while to do this on the trunk, as 'make
bootstrap' doesn't work on Solaris 2.5.1, but that is due
to a separate issue that I haven't had time to investigate.
Here is the patch I installed on the trunk. I've tested it on Solaris 2.5.1.
I'll turn to the 21.1 branch next, as I think the current state is
unstable there on funky vfork hosts (other than Solaris 2.5 or later),
and a similar patch is needed there (albeit one that works with older
autoconf versions). It'll take me a day or two to test the 21.1
cleanup on Solaris, though.
[in ChangeLog]
2001-12-06 Paul Eggert <address@hidden>
* configure.in (AC_PREREQ): Bump from 2.50 to 2.51; needed for vfork.
(AC_FUNC_VFORK): Remove.
(AC_FUNC_FORK): Add.
(HAVE_DES_H, HAVE_KRB5_H): Properly quote args of AC_CHECK_HEADERS;
this is required by recent Autoconf versions.
[in src/ChangeLog]
2001-12-06 Paul Eggert <address@hidden>
* config.in (HAVE_WORKING_VFORK): New #undefs.
* process.c (create_process):
Use HAVE_WORKING_VFORK, not HAVE_VFORK.
* m/cnvrgnt.h (HAVE_VFORK): Remove #define.
* m/ibm370aix.h (HAVE_VFORK): Remove #undef.
* m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
* m/intel386.h (HAVE_VFORK): Likewise.
* m/mips-siemens.h (HAVE_VFORK): Likewise.
* m/mips.h (HAVE_VFORK): Likewise.
* s/freebsd.h (vfork): Remove #define.
* s/lynxos.h (HAVE_VFORK): Remove #undef.
* s/usg5-4-2.h: Fix comment about vfork.
diff -pru emacs-built/configure.in emacs-built-vfork/configure.in
--- emacs-built/configure.in Tue Dec 4 11:37:39 2001
+++ emacs-built-vfork/configure.in Wed Dec 5 22:46:20 2001
@@ -23,7 +23,7 @@ dnl along with GNU Emacs; see the file
dnl Free Software Foundation, Inc., 59 Temple Place - Suite 330,
dnl Boston, MA 02111-1307, USA.
-AC_PREREQ(2.50)dnl
+AC_PREREQ(2.51)dnl
AC_INIT(src/lisp.h)
AC_CONFIG_HEADER(src/config.h:src/config.in)
@@ -2014,11 +2014,11 @@ if test "${with_kerberos+set}" = set; th
AC_CHECK_HEADERS(krb5.h)
else
AC_CHECK_HEADERS(des.h,,
- AC_CHECK_HEADERS(kerberosIV/des.h,,
- AC_CHECK_HEADERS(kerberos/des.h)))
+ [AC_CHECK_HEADERS(kerberosIV/des.h,,
+ [AC_CHECK_HEADERS(kerberos/des.h)])])
AC_CHECK_HEADERS(krb.h,,
- AC_CHECK_HEADERS(kerberosIV/krb.h,,
- AC_CHECK_HEADERS(kerberos/krb.h)))
+ [AC_CHECK_HEADERS(kerberosIV/krb.h,,
+ [AC_CHECK_HEADERS(kerberos/krb.h)])])
fi
AC_CHECK_HEADERS(com_err.h)
fi
@@ -2148,7 +2148,7 @@ else
AC_MSG_RESULT(no)
fi
-AC_FUNC_VFORK
+AC_FUNC_FORK
# Fixme: This should be replaced when we have autoconf 2.14.
AC_SIZE_T
diff -pru emacs-built/src/config.in emacs-built-vfork/src/config.in
--- emacs-built/src/config.in Wed Nov 28 15:43:57 2001
+++ emacs-built-vfork/src/config.in Wed Dec 5 13:36:46 2001
@@ -314,6 +314,7 @@ Boston, MA 02111-1307, USA. */
#undef HAVE_AIX_SMT_EXP
+#undef HAVE_WORKING_VFORK
#undef vfork
#undef size_t
diff -pru emacs-built/src/m/cnvrgnt.h emacs-built-vfork/src/m/cnvrgnt.h
--- emacs-built/src/m/cnvrgnt.h Mon Jan 15 01:15:02 1996
+++ emacs-built-vfork/src/m/cnvrgnt.h Wed Dec 5 13:36:46 2001
@@ -97,10 +97,6 @@ Boston, MA 02111-1307, USA. */
#define SWITCH_ENUM_BUG
-/* fork(2) and vfork() are the same here. */
-
-#define HAVE_VFORK
-
/* grows towards lower addresses. */
#define STACK_DIRECTION -1
diff -pru emacs-built/src/m/ibm370aix.h emacs-built-vfork/src/m/ibm370aix.h
--- emacs-built/src/m/ibm370aix.h Tue Feb 20 05:03:56 2001
+++ emacs-built-vfork/src/m/ibm370aix.h Wed Dec 5 13:36:46 2001
@@ -50,7 +50,6 @@ Boston, MA 02111-1307, USA. */
#undef LIBS_MACHINE
#define LIBS_MACHINE
-#undef HAVE_VFORK
#undef LD_SWITCH_MACHINE
#define LD_SWITCH_MACHINE -xa
diff -pru emacs-built/src/m/ibmps2-aix.h emacs-built-vfork/src/m/ibmps2-aix.h
--- emacs-built/src/m/ibmps2-aix.h Tue Jun 20 07:04:09 2000
+++ emacs-built-vfork/src/m/ibmps2-aix.h Wed Dec 5 13:36:47 2001
@@ -114,7 +114,6 @@ so disable it for them. */
#endif
#define BSTRING
-#define HAVE_VFORK
#undef HAVE_TERMIO
#define HAVE_TERMIOS
diff -pru emacs-built/src/m/intel386.h emacs-built-vfork/src/m/intel386.h
--- emacs-built/src/m/intel386.h Sat Aug 30 00:18:39 1997
+++ emacs-built-vfork/src/m/intel386.h Wed Dec 5 13:36:47 2001
@@ -112,9 +112,6 @@ NOTE-END */
#ifndef SOLARIS2_4
/* address@hidden says Solaris 2.1 on the X86 has FSCALE defined in a
system header. */
-
-#define HAVE_VFORK
-
#else /* SOLARIS2_4 */
#ifndef __GNUC__
#if 0 /* address@hidden says this screws up cpp */
diff -pru emacs-built/src/m/mips-siemens.h
emacs-built-vfork/src/m/mips-siemens.h
--- emacs-built/src/m/mips-siemens.h Thu Mar 2 02:23:26 2000
+++ emacs-built-vfork/src/m/mips-siemens.h Wed Dec 5 13:36:47 2001
@@ -160,10 +160,6 @@ NOTE-END */
#define LD_SWITCH_MACHINE
#endif
-#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
-#define HAVE_VFORK /* Graciously provided by libX.a */
-#endif
-
/* The standard definitions of these macros would work ok,
but these are faster because the constants are short. */
diff -pru emacs-built/src/m/mips.h emacs-built-vfork/src/m/mips.h
--- emacs-built/src/m/mips.h Tue Jun 20 07:05:56 2000
+++ emacs-built-vfork/src/m/mips.h Wed Dec 5 13:36:47 2001
@@ -169,10 +169,6 @@ NOTE-END */
#define C_SWITCH_MACHINE -I/usr/include/bsd
#define C_DEBUG_SWITCH -O -g3
-#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
-#define HAVE_VFORK /* Graciously provided by libX.a */
-#endif
-
#endif /* not BSD_SYSTEM */
#endif /* not NEWSOS5 && not __linux__ */
diff -pru emacs-built/src/process.c emacs-built-vfork/src/process.c
--- emacs-built/src/process.c Fri Nov 2 12:32:44 2001
+++ emacs-built-vfork/src/process.c Wed Dec 5 13:36:47 2001
@@ -1428,7 +1428,7 @@ create_process (process, new_argv, curre
#ifdef SIGCHLD
sigaddset (&blocked, SIGCHLD);
#endif
-#ifdef HAVE_VFORK
+#ifdef HAVE_WORKING_VFORK
/* On many hosts (e.g. Solaris 2.4), if a vforked child calls `signal',
this sets the parent's signal handlers as well as the child's.
So delay all interrupts whose handlers the child might munge,
@@ -1438,7 +1438,7 @@ create_process (process, new_argv, curre
#ifdef AIX
sigaddset (&blocked, SIGHUP ); sigaction (SIGHUP , 0, &sighup_action );
#endif
-#endif /* HAVE_VFORK */
+#endif /* HAVE_WORKING_VFORK */
sigprocmask (SIG_BLOCK, &blocked, &procmask);
#else /* !POSIX_SIGNALS */
#ifdef SIGCHLD
@@ -1696,14 +1696,14 @@ create_process (process, new_argv, curre
/* Restore the signal state whether vfork succeeded or not.
(We will signal an error, below, if it failed.) */
#ifdef POSIX_SIGNALS
-#ifdef HAVE_VFORK
+#ifdef HAVE_WORKING_VFORK
/* Restore the parent's signal handlers. */
sigaction (SIGINT, &sigint_action, 0);
sigaction (SIGQUIT, &sigquit_action, 0);
#ifdef AIX
sigaction (SIGHUP, &sighup_action, 0);
#endif
-#endif /* HAVE_VFORK */
+#endif /* HAVE_WORKING_VFORK */
/* Stop blocking signals in the parent. */
sigprocmask (SIG_SETMASK, &procmask, 0);
#else /* !POSIX_SIGNALS */
diff -pru emacs-built/src/s/freebsd.h emacs-built-vfork/src/s/freebsd.h
--- emacs-built/src/s/freebsd.h Tue Feb 20 02:52:17 2001
+++ emacs-built-vfork/src/s/freebsd.h Wed Dec 5 13:36:47 2001
@@ -154,10 +154,6 @@ Boston, MA 02111-1307, USA. */
#define WRETCODE(w) (_W_INT(w) >> 8)
#endif
-/* Needed to avoid hanging when child process writes an error message
- and exits -- enami tsugutomo <address@hidden>. */
-#define vfork fork
-
/* Don't close pty in process.c to make it as controlling terminal.
It is already a controlling terminal of subprocess, because we did
ioctl TIOCSCTTY. */
diff -pru emacs-built/src/s/lynxos.h emacs-built-vfork/src/s/lynxos.h
--- emacs-built/src/s/lynxos.h Wed Jun 14 06:35:15 2000
+++ emacs-built-vfork/src/s/lynxos.h Wed Dec 5 13:36:47 2001
@@ -33,8 +33,6 @@ Boston, MA 02111-1307, USA. */
#define KERNEL_FILE "/lynx.os"
#undef LDAV_SYMBOL
#define LDAV_SYMBOL "load_average"
-/* LynxOS doesn't have vfork */
-#undef HAVE_VFORK
/* misc defines */
#define GETPGRP_NO_ARG
diff -pru emacs-built/src/s/usg5-4-2.h emacs-built-vfork/src/s/usg5-4-2.h
--- emacs-built/src/s/usg5-4-2.h Tue Jun 20 06:36:13 2000
+++ emacs-built-vfork/src/s/usg5-4-2.h Wed Dec 5 13:36:47 2001
@@ -2,8 +2,6 @@
#include "usg5-4.h"
-/* address@hidden says this is useless since fork does copy-on-write
- #define HAVE_VFORK */
/* address@hidden says these exist. */
#define HAVE_TCATTR
#if 0 /* autoconf should take care of this. */
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], (continued)
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Harald . Maier . BW, 2001/12/01
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Richard Stallman, 2001/12/02
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Harald . Maier . BW, 2001/12/03
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Eli Zaretskii, 2001/12/04
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Paul Eggert, 2001/12/04
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Eli Zaretskii, 2001/12/04
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Richard Stallman, 2001/12/05
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Paul Eggert, 2001/12/05
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Richard Stallman, 2001/12/06
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump],
Paul Eggert <=
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Richard Stallman, 2001/12/04
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Eli Zaretskii, 2001/12/05
- Re: address@hidden: 21.1 on Solaris 2.5.1 (sparc), on terminal, core dump], Richard Stallman, 2001/12/04