emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109386: Port to Solaris 8.


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109386: Port to Solaris 8.
Date: Wed, 01 Aug 2012 21:14:48 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109386
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Wed 2012-08-01 21:14:48 -0700
message:
  Port to Solaris 8.
  
  Without this change, 'configure' fails because the recently-added
  wait3 prototype in config.h messes up later 'configure' tests.
  Fix this problem by droping wait3 and WRETCODE, as they're
  no longer needed on hosts that are current porting targets.
  * configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
  All uses changed to waitpid and WEXITSTATUS.
  * src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
modified:
  ChangeLog
  admin/CPP-DEFINES
  admin/ChangeLog
  configure.ac
  lib-src/movemail.c
  src/ChangeLog
  src/process.c
  src/sysdep.c
  src/syswait.h
  src/w32proc.c
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-08-02 01:59:19 +0000
+++ b/ChangeLog 2012-08-02 04:14:48 +0000
@@ -1,5 +1,13 @@
 2012-08-02  Paul Eggert  <address@hidden>
 
+       Port to Solaris 8.
+       Without this change, 'configure' fails because the recently-added
+       wait3 prototype in config.h messes up later 'configure' tests.
+       Fix this problem by droping wait3 and WRETCODE, as they're
+       no longer needed on hosts that are current porting targets.
+       * configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
+       All uses changed to waitpid and WEXITSTATUS.
+
        Avoid needless autoheader after autogen.sh.
        * src/stamp-h.in: Remove from bzr repository; no longer needed there.
        * .bzrignore: Add it.

=== modified file 'admin/CPP-DEFINES'
--- a/admin/CPP-DEFINES 2012-07-30 18:56:42 +0000
+++ b/admin/CPP-DEFINES 2012-08-02 04:14:48 +0000
@@ -227,7 +227,6 @@
 USG5
 USG_SUBTTY_WORKS
 VALBITS
-WRETCODE
 XOS_NEEDS_TIME_H
 _AIX
 _ARCH_PPC64

=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2012-08-01 08:49:28 +0000
+++ b/admin/ChangeLog   2012-08-02 04:14:48 +0000
@@ -1,3 +1,8 @@
+2012-08-02  Paul Eggert  <address@hidden>
+
+       Port to Solaris 8.
+       * CPP-DEFINES (WRETCODE): Remove.
+
 2012-08-01  Dmitry Antipov  <address@hidden>
 
        * coccinelle/overlay.cocci: Semantic patch to replace direct

=== modified file 'configure.ac'
--- a/configure.ac      2012-08-01 15:00:49 +0000
+++ b/configure.ac      2012-08-02 04:14:48 +0000
@@ -3692,23 +3692,6 @@
     ;;
 esac
 
-dnl Used in process.c.
-case $opsys in
-  irix6-5 | sol2* | unixware )
-    dnl It is possible to receive SIGCHLD when there are no children
-    dnl waiting, because a previous waitsys(2) cleaned up the carcass
-    dnl of child without clearing the SIGCHLD pending info.  So, use a
-    dnl non-blocking wait3 instead, which maps to waitpid(2) in SysVr4.
-    AC_DEFINE(wait3(status, options, rusage),
-      [waitpid ((pid_t) -1, (status), (options))],
-      [Some platforms redefine this.])
-    dnl FIXME this makes no sense, because WRETCODE is only used in
-    dnl process.c, which includes syswait.h aftet config.h, and the
-    dnl former unconditionally redefines WRETCODE.
-    AC_DEFINE(WRETCODE(w), [(w >> 8)], [Some platforms redefine this.])
-    ;;
-esac
-
 
 case $opsys in
   hpux* | sol2* )

=== modified file 'lib-src/movemail.c'
--- a/lib-src/movemail.c        2012-07-12 15:20:39 +0000
+++ b/lib-src/movemail.c        2012-08-02 04:14:48 +0000
@@ -560,8 +560,8 @@
   wait (&wait_status);
   if (!WIFEXITED (wait_status))
     exit (EXIT_FAILURE);
-  else if (WRETCODE (wait_status) != 0)
-    exit (WRETCODE (wait_status));
+  else if (WEXITSTATUS (wait_status) != 0)
+    exit (WEXITSTATUS (wait_status));
 
 #if !defined (MAIL_USE_MMDF) && !defined (MAIL_USE_SYSTEM_LOCK)
 #ifdef MAIL_USE_MAILLOCK

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-08-02 04:06:38 +0000
+++ b/src/ChangeLog     2012-08-02 04:14:48 +0000
@@ -1,3 +1,8 @@
+2012-08-02  Paul Eggert  <address@hidden>
+
+       Port to Solaris 8.
+       * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
+
 2012-08-02  Glenn Morris  <address@hidden>
 
        * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than

=== modified file 'src/process.c'
--- a/src/process.c     2012-08-01 06:23:24 +0000
+++ b/src/process.c     2012-08-02 04:14:48 +0000
@@ -441,7 +441,7 @@
   if (WIFSTOPPED (w))
     return Fcons (Qstop, Fcons (make_number (WSTOPSIG (w)), Qnil));
   else if (WIFEXITED (w))
-    return Fcons (Qexit, Fcons (make_number (WRETCODE (w)),
+    return Fcons (Qexit, Fcons (make_number (WEXITSTATUS (w)),
                                WCOREDUMP (w) ? Qt : Qnil));
   else if (WIFSIGNALED (w))
     return Fcons (Qsignal, Fcons (make_number (WTERMSIG (w)),
@@ -4287,7 +4287,7 @@
   FD_ZERO (&Writeok);
 
   if (time_limit == 0 && nsecs == 0 && wait_proc && !NILP (Vinhibit_quit)
-      && !(CONSP (PVAR (wait_proc, status)) 
+      && !(CONSP (PVAR (wait_proc, status))
           && EQ (XCAR (PVAR (wait_proc, status)), Qexit)))
     message ("Blocking call to accept-process-output with quit inhibited!!");
 
@@ -4887,7 +4887,7 @@
                  if (p->pid == -2)
                    {
                      /* If the EIO occurs on a pty, sigchld_handler's
-                        wait3() will not find the process object to
+                        waitpid() will not find the process object to
                         delete.  Do it here.  */
                      p->tick = ++process_tick;
                      PVAR (p, status) = Qfailed;
@@ -4959,7 +4959,7 @@
              if (xerrno)
                {
                  p->tick = ++process_tick;
-                 PVAR (p, status) 
+                 PVAR (p, status)
                    = Fcons (Qfailed, Fcons (make_number (xerrno), Qnil));
                  deactivate_process (proc);
                }
@@ -6352,7 +6352,7 @@
       do
        {
          errno = 0;
-         pid = wait3 (&w, WNOHANG | WUNTRACED, 0);
+         pid = waitpid (-1, &w, WNOHANG | WUNTRACED);
        }
       while (pid < 0 && errno == EINTR);
 
@@ -6440,7 +6440,7 @@
 
          /* Report the status of the synchronous process.  */
          if (WIFEXITED (w))
-           synch_process_retcode = WRETCODE (w);
+           synch_process_retcode = WEXITSTATUS (w);
          else if (WIFSIGNALED (w))
            synch_process_termsig = WTERMSIG (w);
 
@@ -6746,7 +6746,7 @@
   CHECK_PROCESS (process);
   p = XPROCESS (process);
   if (NILP (flag))
-    PVAR (p, decode_coding_system) 
+    PVAR (p, decode_coding_system)
       = raw_text_coding_system (PVAR (p, decode_coding_system));
   setup_process_coding_systems (process);
 

=== modified file 'src/sysdep.c'
--- a/src/sysdep.c      2012-08-01 06:23:24 +0000
+++ b/src/sysdep.c      2012-08-02 04:14:48 +0000
@@ -294,7 +294,7 @@
 #if (defined (BSD_SYSTEM) || defined (HPUX)) && !defined (__GNU__)
       /* Note that kill returns -1 even if the process is just a zombie now.
         But inevitably a SIGCHLD interrupt should be generated
-        and child_sig will do wait3 and make the process go away. */
+        and child_sig will do waitpid and make the process go away.  */
       /* There is some indication that there is a bug involved with
         termination of subprocesses, perhaps involving a kernel bug too,
         but no idea what it is.  Just as a hunch we signal SIGCHLD to see

=== modified file 'src/syswait.h'
--- a/src/syswait.h     2012-01-19 07:21:25 +0000
+++ b/src/syswait.h     2012-08-02 04:14:48 +0000
@@ -51,9 +51,4 @@
 #define WTERMSIG(status) ((status) & 0x7f)
 #endif
 
-#undef WRETCODE
-#define WRETCODE(status) WEXITSTATUS (status)
-
-
 #endif /* EMACS_SYSWAIT_H */
-

=== modified file 'src/w32proc.c'
--- a/src/w32proc.c     2012-07-29 16:22:27 +0000
+++ b/src/w32proc.c     2012-08-02 04:14:48 +0000
@@ -549,7 +549,7 @@
 
       /* Report the status of the synchronous process.  */
       if (WIFEXITED (retval))
-       synch_process_retcode = WRETCODE (retval);
+       synch_process_retcode = WEXITSTATUS (retval);
       else if (WIFSIGNALED (retval))
        {
          int code = WTERMSIG (retval);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]