manoj       99/04/08 20:43:28

  Modified:    pthreads/src/main alloc.c
  Log:
  An attempt to fix Roy's problems with ALLOC_DEBUG. The server will also
  compile with POOL_DEBUG now.
  
  Revision  Changes    Path
  1.5       +14 -4     apache-apr/pthreads/src/main/alloc.c
  
  Index: alloc.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/alloc.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -u -r1.4 -r1.5
  --- alloc.c   1999/03/17 17:01:16     1.4
  +++ alloc.c   1999/04/09 03:43:28     1.5
  @@ -159,6 +159,10 @@
        union block_hdr *global_next;
        struct pool *owning_pool;
   #endif
  +#if defined(ALLOC_DEBUG) && !defined(ALLOC_USE_MALLOC)
  +        unsigned is_free;
  +#endif
  +
       } h;
   };
   
  @@ -284,14 +288,14 @@
   #define reset_block(b) do { \
           test_is_free(b); \
        (b)->h.first_avail = (char *) ((b) + 1);\
  -        debug_fill((b)->h.first_avail, b(b)->h.endp - (b)->h.first_avail); \
  +        debug_fill((b)->h.first_avail, (b)->h.endp - (b)->h.first_avail); \
        (b)->h.owning_pool = FREE_POOL; \
       } while(0)
   #else
   #define reset_block(b) do { \
           test_is_free(b); \
           (b)->h.first_avail = (char *) ((b) + 1);\
  -        debug_fill((b)->h.first_avail, b(b)->h.endp - (b)->h.first_avail); \
  +        debug_fill((b)->h.first_avail, (b)->h.endp - (b)->h.first_avail); \
       } while(0)
   #endif
   
  @@ -359,6 +363,9 @@
            blok->h.next = NULL;
            debug_verify_filled(blok->h.first_avail, blok->h.endp,
                "Ouch!  Someone trounced a block on the free list!\n");
  +#if defined(ALLOC_DEBUG) && !defined(ALLOC_USE_MALLOC)
  +            blok->h.is_free = 0;
  +#endif
            return blok;
        }
        else {
  @@ -371,6 +378,9 @@
   
       min_size += BLOCK_MINFREE;
       blok = malloc_block((min_size > BLOCK_MINALLOC) ? min_size : 
BLOCK_MINALLOC);
  +#if defined(ALLOC_DEBUG) && !defined(ALLOC_USE_MALLOC)
  +    blok->h.is_free = 0;
  +#endif
       return blok;
   }
   
  @@ -431,7 +441,7 @@
       new_pool = (root_pool *) blok->h.first_avail;
       blok->h.first_avail += ROOT_HDR_BYTES;
   #ifdef POOL_DEBUG
  -    blok->h.owning_pool = new_pool;
  +    blok->h.owning_pool = &(new_pool->p);
   #endif
   
       memset(new_pool, 0, sizeof(*new_pool));
  @@ -931,7 +941,7 @@
        ps.blok->h.owning_pool = p;
   #endif
   #if defined(ALLOC_DEBUG) && !defined(ALLOC_USE_MALLOC)
  -     ps.blok->is_free = 0;
  +     ps.blok->h.is_free = 0;
   #endif
       }
   
  
  
  

Reply via email to