2012-07-31 Glenn Morris <rgm@gnu.org>
+ * configure.ac (wait3, WRETCODE): Move here from src/s/usg5-4-common.h.
+
* configure.ac (opsysfile): Set to empty on hpux*, darwin;
and to s/usg5-4-common.h on irix6-5.
;;
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* )
2012-07-31 Glenn Morris <rgm@gnu.org>
+ * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
+
* conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.
* s/irix6-5.h: Remove file.
#include <sys/stropts.h>
#include <sys/termios.h>
#endif
-
-/* It is possible to receive SIGCHLD when there are no children
- waiting, because a previous waitsys(2) cleaned up the carcass of child
- without clearing the SIGCHLD pending info. So, use a non-blocking
- wait3 instead, which maps to waitpid(2) in SysVr4. */
-#define wait3(status, options, rusage) \
- waitpid ((pid_t) -1, (status), (options))
-#define WRETCODE(w) (w >> 8)
-