#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#ifdef VMS
/*steve*/
#else
-#if defined(_AIX) || defined(__xlC__)
+#if defined(__AIX__) || defined(__xlC__)
#include <sys/socket.h>
#include <sys/select.h>
#else
-#ifndef DG
+#ifndef __DATA_GENERAL__
#include <sys/syscall.h>
#endif
#endif
#endif
+#ifdef __SVR4__
+ #include <sys/systeminfo.h>
+#endif
+
+#ifdef __SOLARIS__
+// somehow missing from sys/wait.h but in the system's docs
+extern "C"
+{
+ pid_t wait4(pid_t pid, int *statusp, int options, struct rusage
+ *rusage);
+}
+#endif
+
#include <sys/time.h>
+#include <errno.h>
#include <Xm/Xm.h>
/* wait4 is not part of any standard, use at own risk
* not sure what wait4 does, but wait3 seems to be closest, whats a digit ;-)
* --- offer@sgi.com */
-#if !defined(__sgi)
+#if !defined(__sgi) && !defined(__ALPHA__)
wait4(process_data->pid, NULL, 0, NULL);
#else
wait3((int *) NULL, 0, (rusage *) NULL);