httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dgau...@hyperreal.org
Subject cvs commit: apache-1.3/src/main http_main.c
Date Fri, 07 May 1999 00:38:13 GMT
dgaudet     99/05/06 17:38:13

  Modified:    src      CHANGES
               src/main http_main.c
  Log:
  loop around on EINTR from semop()
  
  Revision  Changes    Path
  1.1352    +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1351
  retrieving revision 1.1352
  diff -u -r1.1351 -r1.1352
  --- CHANGES	1999/05/07 00:16:06	1.1351
  +++ CHANGES	1999/05/07 00:38:05	1.1352
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) It's OK for a semop to return EINTR, just loop around and try
  +     again.  [Dean Gaudet]
  +
     *) Fix configuration engine re-entrant hangups, which solve a
        handful of problems seen with mod_perl <Perl> configuration sections
        [Salvador Ortiz Garcia <sog@msg.com.mx>]
  
  
  
  1.436     +10 -6     apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.435
  retrieving revision 1.436
  diff -u -r1.435 -r1.436
  --- http_main.c	1999/05/05 20:42:58	1.435
  +++ http_main.c	1999/05/07 00:38:11	1.436
  @@ -741,17 +741,21 @@
   
   static void accept_mutex_on(void)
   {
  -    if (semop(sem_id, &op_on, 1) < 0) {
  -	perror("accept_mutex_on");
  -	clean_child_exit(APEXIT_CHILDFATAL);
  +    while (semop(sem_id, &op_on, 1) < 0) {
  +	if (errno != EINTR) {
  +	    perror("accept_mutex_on");
  +	    clean_child_exit(APEXIT_CHILDFATAL);
  +	}
       }
   }
   
   static void accept_mutex_off(void)
   {
  -    if (semop(sem_id, &op_off, 1) < 0) {
  -	perror("accept_mutex_off");
  -	clean_child_exit(APEXIT_CHILDFATAL);
  +    while (semop(sem_id, &op_off, 1) < 0) {
  +	if (errno != EINTR) {
  +	    perror("accept_mutex_off");
  +	    clean_child_exit(APEXIT_CHILDFATAL);
  +	}
       }
   }
   
  
  
  

Mime
View raw message