[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev 2.8.2dev.8 - NSL fork still broken under AIX 4
From: |
Jens Schmalzing |
Subject: |
lynx-dev 2.8.2dev.8 - NSL fork still broken under AIX 4 |
Date: |
04 Dec 1998 01:46:57 +0100 |
Dear all,
here I go again. Hopefully, the patch below fixes the problem I
encountered when enabling nsl fork on AIX4. At least it leads to a
working binary on my system, and unlike the patch I first sent,
tracing does remain functional.
Regards, Jens.
*** 2.8.2dev.8-orig/WWW/Library/Implementation/HTTCP.c Fri Dec 4 01:32:28 1998
--- 2.8.2dev.8/WWW/Library/Implementation/HTTCP.c Fri Dec 4 01:38:12 1998
***************
*** 449,455 ****
** control variables.
*/
pid_t fpid, waitret;
! int pfd[2], h_length, selret, readret, waitstat = 0, cycle = 0;
fd_set readfds;
struct timeval timeout;
int dns_patience = 30; /* how many seconds will we wait for DNS? */
--- 449,462 ----
** control variables.
*/
pid_t fpid, waitret;
! int pfd[2], h_length, selret, readret, cycle = 0;
! #ifdef HAVE_TYPE_UNIONWAIT
! union wait waitstat;
! #define WAITSTAT (waitstat.w_status)
! #else
! int waitstat=0;
! #define WAITSTAT waitstat
! #endif
fd_set readfds;
struct timeval timeout;
int dns_patience = 30; /* how many seconds will we wait for DNS? */
***************
*** 573,582 ****
** Make sure child is cleaned up. -BL
*/
if (!child_exited)
! waitret = waitpid(fpid, &waitstat, WNOHANG);
if (!WIFEXITED(waitstat) && !WIFSIGNALED(waitstat)) {
kill(fpid, SIGTERM);
! waitret = waitpid(fpid, &waitstat, WNOHANG);
}
break;
}
--- 580,589 ----
** Make sure child is cleaned up. -BL
*/
if (!child_exited)
! waitret = waitpid(fpid, &WAITSTAT, WNOHANG);
if (!WIFEXITED(waitstat) && !WIFSIGNALED(waitstat)) {
kill(fpid, SIGTERM);
! waitret = waitpid(fpid, &WAITSTAT, WNOHANG);
}
break;
}
***************
*** 585,597 ****
** Clean up if child exited before & no data received. -BL
*/
if (child_exited) {
! waitret = waitpid(fpid, &waitstat, WNOHANG);
break;
}
/*
** If child exited, loop once more looking for data. -BL
*/
! if ((waitret = waitpid(fpid, &waitstat, WNOHANG)) > 0) {
/*
** Data will be arriving right now, so make sure we
** don't short-circuit out for too many loops, and
--- 592,604 ----
** Clean up if child exited before & no data received. -BL
*/
if (child_exited) {
! waitret = waitpid(fpid, &WAITSTAT, WNOHANG);
break;
}
/*
** If child exited, loop once more looking for data. -BL
*/
! if ((waitret = waitpid(fpid, &WAITSTAT, WNOHANG)) > 0) {
/*
** Data will be arriving right now, so make sure we
** don't short-circuit out for too many loops, and
***************
*** 617,631 ****
close(pfd[0]);
if (waitret <= 0) {
kill(fpid, SIGTERM);
! waitret = waitpid(fpid, &waitstat, WNOHANG);
}
if (waitret > 0) {
if (WIFEXITED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d exited, status
0x%x.\n",
! (int)waitret, waitstat);
} else if (WIFSIGNALED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d got signal,
status 0x%x!\n",
! (int)waitret, waitstat);
#ifdef WCOREDUMP
if (WCOREDUMP(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d dumped
core!\n",
--- 624,638 ----
close(pfd[0]);
if (waitret <= 0) {
kill(fpid, SIGTERM);
! waitret = waitpid(fpid, &WAITSTAT, WNOHANG);
}
if (waitret > 0) {
if (WIFEXITED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d exited, status
0x%x.\n",
! (int)waitret, WAITSTAT);
} else if (WIFSIGNALED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d got signal,
status 0x%x!\n",
! (int)waitret, WAITSTAT);
#ifdef WCOREDUMP
if (WCOREDUMP(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d dumped
core!\n",
***************
*** 634,640 ****
#endif /* WCOREDUMP */
} else if (WIFSTOPPED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d is stopped,
status 0x%x!\n",
! (int)waitret, waitstat);
}
}
if (!success) {
--- 641,647 ----
#endif /* WCOREDUMP */
} else if (WIFSTOPPED(waitstat)) {
CTRACE(tfp, "HTParseInet: NSL_FORK child %d is stopped,
status 0x%x!\n",
! (int)waitret, WAITSTAT);
}
}
if (!success) {
--
Ohtnunk? - Ohtnunk izd mih ekaj! Ixr wijj kans unt kah
unohtentjixr jiepen unt zdehpen! (Alexander Nikopol)