rbb         99/03/06 16:47:53

  Modified:    pthreads/src/include acceptlock.h httpd.h
               pthreads/src/main acceptlock.c scoreboard.c
  Log:
  Modifications to make the acceptlock abstractions work on Linux.
  
  Revision  Changes    Path
  1.2       +0 -1      apache-apr/pthreads/src/include/acceptlock.h
  
  Index: acceptlock.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/acceptlock.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- acceptlock.h      1999/03/05 16:45:57     1.1
  +++ acceptlock.h      1999/03/07 00:47:43     1.2
  @@ -90,7 +90,6 @@
   void accept_mutex_off(int);
   
   #elif defined(USE_FLOCK_SERIALIZED_ACCEPT)
  -#define accept_mutex_child_init(x)
   void accept_mutex_cleanup(void *);
   void accept_mutex_child_init(pool *);
   void accept_mutex_init(pool *);
  
  
  
  1.10      +1 -1      apache-apr/pthreads/src/include/httpd.h
  
  Index: httpd.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- httpd.h   1999/02/24 20:30:14     1.9
  +++ httpd.h   1999/03/07 00:47:44     1.10
  @@ -1039,7 +1039,7 @@
   API_EXPORT(int) ap_can_exec(const struct stat *);
   API_EXPORT(void) ap_chdir_file(const char *file);
   API_EXPORT(int) ap_get_max_daemons(void);
  -server_rec * get_server_conf(void);
  +API_EXPORT(const server_rec *) ap_get_server_conf(void);
   
   #ifndef HAVE_CANONICAL_FILENAME
   /*
  
  
  
  1.2       +28 -24    apache-apr/pthreads/src/main/acceptlock.c
  
  Index: acceptlock.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/acceptlock.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- acceptlock.c      1999/03/05 16:45:55     1.1
  +++ acceptlock.c      1999/03/07 00:47:49     1.2
  @@ -478,31 +478,32 @@
   void accept_mutex_cleanup(void *foo)
   {
       int i;
  -
  +  
       char * lock_fname;
       for (i = 0; i < ap_acceptors_per_child; i++) {
           lock_fname = expand_lock_fname(foo, i);
  -     unlink(lock_fname);
  +        unlink(lock_fname);
       }
   }
   
   /*
    * Initialize mutex lock.
    * Done by each child at it's birth
  - */
  + */ 
   void accept_mutex_child_init(pool *p)
   {
       int i;
  -    
  +  
       for (i = 0; i < ap_acceptors_per_child; i++) {
           char *lock_fname = expand_lock_fname(p, i);
  -      
  -     lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
  -     if (lock_fd[i] == -1) {
  -       ap_log_error(APLOG_MARK, APLOG_EMERG, ap_get_server_conf(),
  +    
  +        lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
  +        if (lock_fd[i] == -1) {
  +       ap_log_error(APLOG_MARK, APLOG_EMERG, 
  +                    (const server_rec *)ap_get_server_conf(),
                       "Child cannot open lock file: %s", lock_fname);
          clean_child_exit(APEXIT_CHILDINIT);
  -     }
  +        }
       }
   }
   
  @@ -513,20 +514,21 @@
   void accept_mutex_init(pool *p)
   {
       int i;
  -    char * lock_fname;
  +    char *lock_fname;
       lock_fd = (int *)ap_palloc(p, ap_acceptors_per_child * sizeof(int *));
  -
  +  
       for (i = 0; i < ap_acceptors_per_child; i++) {
           lock_fname = expand_lock_fname(p, i);
  -     unlink(lock_fname);
  -     lock_fd[i] = ap_popenf(p, lock_fname, 
  +        unlink(lock_fname);
  +        lock_fd[i] = ap_popenf(p, lock_fname, 
                               O_CREAT | O_WRONLY | O_EXCL, 0600);
  -     if (lock_fd[i] == -1) {
  -       ap_log_error(APLOG_MARK, APLOG_EMERG, ap_get_server_conf(),
  -                    "Parent cannot open lock file: %s", lock_fname);
  -       exit(APEXIT_INIT);
  -     }
  -     ap_register_cleanup(p, p, accept_mutex_cleanup, ap_null_cleanup);
  +        if (lock_fd[i] == -1) {
  +         ap_log_error(APLOG_MARK, APLOG_EMERG, 
  +                      (const server_rec *) ap_get_server_conf(), 
  +                      "Parent cannot open lock file: %s", lock_fname);
  +            exit(APEXIT_INIT);
  +        }
  +        ap_register_cleanup(p, p, accept_mutex_cleanup, ap_null_cleanup);
       }
   }
   
  @@ -535,11 +537,12 @@
       int ret;
   
       while ((ret = flock(lock_fd[locknum], LOCK_EX)) < 0 && errno != EINTR)
  -     continue;
  +        continue;
   
       if (ret < 0 && errno != EINTR) {
  -     ap_log_error(APLOG_MARK, APLOG_EMERG, ap_get_server_conf(),
  -                 "flock: LOCK_EX: Error getting accept lock. Exiting!");
  +        ap_log_error(APLOG_MARK, APLOG_EMERG, 
  +                  (const server_rec *) ap_get_server_conf(),
  +                  "flock: LOCK_EX: Error getting accept lock. Exiting!");
        clean_child_exit(APEXIT_CHILDFATAL);
       }
   }
  @@ -547,8 +550,9 @@
   void accept_mutex_off(int locknum)
   {
       if (flock(lock_fd[locknum], LOCK_UN) < 0 && errno != EINTR) {
  -     ap_log_error(APLOG_MARK, APLOG_EMERG, ap_get_server_conf(),
  -                 "flock: LOCK_UN: Error freeing accept lock. Exiting!");
  +        ap_log_error(APLOG_MARK, APLOG_EMERG, 
  +                  (const server_rec *) ap_get_server_conf(),
  +                  "flock: LOCK_UN: Error freeing accept lock. Exiting!");
        clean_child_exit(APEXIT_CHILDFATAL);
       }
   }
  
  
  
  1.5       +1 -1      apache-apr/pthreads/src/main/scoreboard.c
  
  Index: scoreboard.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/scoreboard.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- scoreboard.c      1999/02/15 20:39:01     1.4
  +++ scoreboard.c      1999/03/07 00:47:50     1.5
  @@ -309,7 +309,7 @@
   static void setup_shared_mem(pool *p)
   {
       struct shmid_ds shmbuf;
  -    server_rec * server_conf = get_server_conf();
  +    server_rec * server_conf = ap_get_server_conf();
   #ifdef MOVEBREAK
       char *obrk;
   #endif
  
  
  

Reply via email to