You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rob Hartill <ha...@hyperreal.com> on 1995/10/25 21:58:32 UTC

WWW Form Bug Report: "Wouldn't spawn spare servers." on FreeBSD (fwd)

excuse the awful mess, but that's what the bug script sends...

no ack sent

Forwarded message:
> From nobody@hyperreal.com  Wed Oct 25 11:08:23 1995
> Message-Id: <19...@taz.hyperreal.com>
> From: jlummel@caprica.com
> To: apache-bugs%apache.org@organic.com
> Date: Wed Oct 25 11:08:21 1995
> Subject: WWW Form Bug Report: "Wouldn't spawn spare servers." on FreeBSD
> 
> Submitter: jlummel@caprica.com
> Operating system: FreeBSD, version: 2.0.5
> Extra Modules used: None
> URL exhibiting problem: 
> 
> Symptoms:
> --
> Server would never create spare children. This was due to the use of setjmp instead of the newer sigsetjmp in the http_main.c,  in the wait_or_timeout() routine (diff follows):  *************** --- 475,504 ----   /* Finally, this routine is used by the caretaker process to wait for    * a while...    */ ! #ifdef NEXT   static jmp_buf wait_timeout_buf; + #else + static sigjmp_buf wait_timeout_buf; + #endif   static int wait_or_timeout_retval = -1;     static void longjmp_out_of_alarm (int sig) { + #ifdef NEXT       longjmp (wait_timeout_buf, 1); + #else +     siglongjmp (wait_timeout_buf, 1); + #endif   }     int wait_or_timeout (int *status)   {       wait_or_timeout_retval = -1;   + #ifdef NEXT       if (setjmp(wait_timeout_buf) != 0) { + #else +     if (sigsetjmp(wait_timeout_buf,1) != 0) { + #endif         errno = ETIMEDOUT;         alarm(0);         return wait_or_timeout_retval; *************** 
> --
> 
> Backtrace:
> --
> 
> --
>