dreid       99/10/13 15:49:53

  Modified:    src/lib/apr/locks/beos crossproc.c intraproc.c
  Log:
  Remove some silly typo's, some naughty tabs that crept in and generally
  tidy up.  Also start adding in ap_null_cleanup in line with recent
  changes.
  
  There is so little difference between intra and inter proc in these
  implementations, and I'm not sure that BeOS will ever need different
  versions due to the way it works.  I'll give it some thought but might
  rationalise these into a single set of routines.
  
  Revision  Changes    Path
  1.3       +9 -7      apache-2.0/src/lib/apr/locks/beos/crossproc.c
  
  Index: crossproc.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/locks/beos/crossproc.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- crossproc.c       1999/10/12 06:14:44     1.2
  +++ crossproc.c       1999/10/13 22:49:51     1.3
  @@ -55,10 +55,12 @@
   
   #include "apr_lock.h"
   #include "apr_general.h"
  +#include "apr_lib.h"
   #include "locks.h"
   
  -ap_status_t lock_inter_cleanup(ap_lock_t *lock)
  +ap_status_t lock_inter_cleanup(void * data)
   {
  +    ap_lock_t *lock = (ap_lock_t*)data;
       if (lock->curr_locked == 1) {
        if (atomic_add(&lock->ben_interproc , -1) > 1){
                release_sem (lock->sem_interproc);
  @@ -71,14 +73,14 @@
   {
       new->sem_interproc = (sem_id)ap_palloc(new->cntxt, sizeof(sem_id));
       new->ben_interproc = (int32)ap_palloc(new->cntxt, sizeof(int32));
  -    
  +
       new->ben_interproc = 0;
  -    new->sem_interproc = create_sem(0, "ap_intraproc");
  +    new->sem_interproc = create_sem(0, "ap_interproc");
       if (new->sem_interproc < B_NO_ERROR){
        lock_inter_cleanup(new);
           return errno;
       }
  -    new->curr_locked == 0;
  +    new->curr_locked = 0;
       ap_register_cleanup(new->cntxt, (void *)new, lock_inter_cleanup,
                           ap_null_cleanup);
       return APR_SUCCESS;
  @@ -91,18 +93,18 @@
        } else {
                return errno;
        }
  -    lock->curr_locked == 1;
  +    lock->curr_locked = 1;
       return APR_SUCCESS;
   }
   
   ap_status_t unlock_inter(ap_lock_t *lock)
   {
        if (atomic_add(&lock->ben_interproc, -1) > 1){
  -             release_sem(lock->sem_interproc);
  +        release_sem(lock->sem_interproc);
  +        lock->curr_locked = 0;
       } else {
        return errno;
       }
  -    lock->curr_locked == 0;
       return APR_SUCCESS;
   }
   
  
  
  
  1.3       +12 -13    apache-2.0/src/lib/apr/locks/beos/intraproc.c
  
  Index: intraproc.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/locks/beos/intraproc.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- intraproc.c       1999/10/12 06:14:44     1.2
  +++ intraproc.c       1999/10/13 22:49:52     1.3
  @@ -56,12 +56,11 @@
   #include "apr_lock.h"
   #include "apr_general.h"
   #include "locks.h"
  -#include <kernel/OS.h>
  -#include <stdio.h>
  +#include "apr_lib.h"
   
  -ap_status_t lock_intra_cleanup(ap_lock_t *lock)
  +ap_status_t lock_intra_cleanup(void *data)
   {
  -printf ("lock_intra_cleanup\n");
  +    ap_lock_t *lock = (ap_lock_t *)data;
       if (lock->curr_locked == 1) {
        if (atomic_add(&lock->ben_intraproc , -1) > 1){
                release_sem (lock->sem_intraproc);
  @@ -85,7 +84,7 @@
           return stat;
       }
       new->sem_intraproc = stat;
  -    new->curr_locked == 0;
  +    new->curr_locked = 0;
       ap_register_cleanup(new->cntxt, (void *)new, lock_intra_cleanup,
                           ap_null_cleanup);
       return APR_SUCCESS;
  @@ -93,22 +92,22 @@
   
   ap_status_t lock_intra(ap_lock_t *lock)
   {
  -    lock->curr_locked == 1;
  -     if (atomic_add (&lock->ben_intraproc, 1) >0){
  -             if (acquire_sem(lock->sem_intraproc) != B_NO_ERROR){
  -                     atomic_add(&lock->ben_intraproc,-1);
  +    lock->curr_locked = 1;
  +    if (atomic_add (&lock->ben_intraproc, 1) >0){
  +        if (acquire_sem(lock->sem_intraproc) != B_NO_ERROR){
  +            atomic_add(&lock->ben_intraproc,-1);
                return errno;
  -     }
  +        }
       }
       return APR_SUCCESS;
   }
   
   ap_status_t unlock_intra(ap_lock_t *lock)
   {
  -     if (atomic_add(&lock->ben_intraproc, -1) > 1){
  -             release_sem(lock->sem_intraproc);
  +    if (atomic_add(&lock->ben_intraproc, -1) > 1){
  +        release_sem(lock->sem_intraproc);
  +        lock->curr_locked = 0;
       }
  -    lock->curr_locked == 0;
       return APR_SUCCESS;
   }
   
  
  
  

Reply via email to