dgaudet     97/09/14 03:30:57

  Modified:    src      CHANGES
               src/main http_main.c
  Log:
    *) Inetd mode (which is buggy) uses timeouts without having setup the
       jmpbuffer. [Dean Gaudet] PR#1064
  
    *) Work around problem under Linux where a child will start looping
       reporting a select error over and over.
       [Rick Franchuk <[EMAIL PROTECTED]>] PR#1107
  
  PR:           1064, 1107
  Reviewed by:  Dean Gaudet, Roy Fielding, Marc Slemko
  
  Revision  Changes    Path
  1.441     +8 -1      apachen/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.440
  retrieving revision 1.441
  diff -u -r1.440 -r1.441
  --- CHANGES   1997/09/14 07:34:35     1.440
  +++ CHANGES   1997/09/14 10:30:53     1.441
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3b1
  -  
  +
  +  *) Inetd mode (which is buggy) uses timeouts without having setup the
  +     jmpbuffer. [Dean Gaudet] PR#1064
  +
  +  *) Work around problem under Linux where a child will start looping
  +     reporting a select error over and over.
  +     [Rick Franchuk <[EMAIL PROTECTED]>] PR#1107
  +
     *) Fixed error in proxy_util.c when looping through multiple host IP
        addresses. [Lars Eilebrecht] PR#974
   
  
  
  
  1.223     +14 -1     apachen/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/main/http_main.c,v
  retrieving revision 1.222
  retrieving revision 1.223
  diff -u -r1.222 -r1.223
  --- http_main.c       1997/09/13 23:10:50     1.222
  +++ http_main.c       1997/09/14 10:30:56     1.223
  @@ -2851,8 +2851,18 @@
                memcpy(&main_fds, &listenfds, sizeof(fd_set));
                srv = ap_select(listenmaxfd+1, &main_fds, NULL, NULL, NULL);
   
  -             if (srv < 0 && errno != EINTR)
  +             if (srv < 0 && errno != EINTR) {
  +#ifdef LINUX
  +                 if (errno == EFAULT) {
  +                     aplog_error(APLOG_MARK, APLOG_ERR, server_conf,
  +                         "select: (listen) fatal, exiting");
  +                     child_exit_modules (pconf, server_conf);
  +                     destroy_pool(pconf);
  +                     exit(1);
  +                 }
  +#endif
                    aplog_error(APLOG_MARK, APLOG_ERR, server_conf, "select: 
(listen)");
  +             }
                
                if (srv <= 0)
                    continue;
  @@ -3579,6 +3589,9 @@
             GETUSERMODE();
         }
   #endif
  +     if (ap_setjmp (jmpbuffer)) {
  +         exit (0);
  +     }
   
        l = sizeof(sa_client);
        if ((getpeername(fileno(stdin), &sa_client, &l)) < 0)
  
  
  

Reply via email to