cvs commit: apache-1.3/src/include alloc.h

1999-05-13 Thread dgaudet
dgaudet 99/05/13 12:44:15

  Modified:src/include alloc.h
  Log:
  add a bunch more info to the pool/ancestor documentation... Raymond's
  comments made it clear to me that what I'd written wasn't so clear ;)
  
  Revision  ChangesPath
  1.68  +36 -2 apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- alloc.h   1999/03/07 14:05:33 1.67
  +++ alloc.h   1999/05/13 19:44:14 1.68
  @@ -95,8 +95,42 @@
   API_EXPORT(pool *) ap_make_sub_pool(pool *); /* All pools are subpools of 
permanent_pool */
   API_EXPORT(void) ap_destroy_pool(pool *);
   
  -/* used to guarantee to the pool debugging code that the sub pool will not be
  - * destroyed before the parent pool
  +/* pools have nested lifetimes -- sub_pools are destroyed when the
  + * parent pool is cleared.  We allow certain liberties with operations
  + * on things such as tables (and on other structures in a more general
  + * sense) where we allow the caller to insert values into a table which
  + * were not allocated from the table's pool.  The table's data will
  + * remain valid as long as all the pools from which its values are
  + * allocated remain valid.
  + *
  + * For example, if B is a sub pool of A, and you build a table T in
  + * pool B, then it's safe to insert data allocated in A or B into T
  + * (because B lives at most as long as A does, and T is destroyed when
  + * B is cleared/destroyed).  On the other hand, if S is a table in
  + * pool A, it is safe to insert data allocated in A into S, but it
  + * is *not safe* to insert data allocated from B into S... because
  + * B can be cleared/destroyed before A is (which would leave dangling
  + * pointers in T's data structures).
  + *
  + * In general we say that it is safe to insert data into a table T
  + * if the data is allocated in any ancestor of T's pool.  This is the
  + * basis on which the POOL_DEBUG code works -- it tests these ancestor
  + * relationships for all data inserted into tables.  POOL_DEBUG also
  + * provides tools (ap_find_pool, and ap_pool_is_ancestor) for other
  + * folks to implement similar restrictions for their own data
  + * structures.
  + *
  + * However, sometimes this ancestor requirement is inconvenient --
  + * sometimes we're forced to create a sub pool (such as through
  + * ap_sub_req_lookup_uri), and the sub pool is guaranteed to have
  + * the same lifetime as the parent pool.  This is a guarantee implemented
  + * by the *caller*, not by the pool code.  That is, the caller guarantees
  + * they won't destroy the sub pool individually prior to destroying the
  + * parent pool.
  + *
  + * In this case the caller must call ap_pool_join() to indicate this
  + * guarantee to the POOL_DEBUG code.  There are a few examples spread
  + * through the standard modules.
*/
   #ifndef POOL_DEBUG
   #ifdef ap_pool_join
  
  
  


cvs commit: apache-1.3/src/include alloc.h ap.h buff.h compat.h conf.h explain.h fnmatch.h http_conf_globals.h http_config.h http_core.h http_log.h http_main.h http_protocol.h http_request.h http_vhost.h httpd.h md5.h multithread.h rfc1413.h scoreboard.h util_date.h util_md5.h util_script.h util_uri.h

1998-05-03 Thread jim
jim 98/05/03 10:31:16

  Modified:.STATUS
   src  CHANGES
   src/include alloc.h ap.h buff.h compat.h conf.h explain.h
fnmatch.h http_conf_globals.h http_config.h
http_core.h http_log.h http_main.h http_protocol.h
http_request.h http_vhost.h httpd.h md5.h
multithread.h rfc1413.h scoreboard.h util_date.h
util_md5.h util_script.h util_uri.h
  Log:
  Submitted by: Michael Anderson's [EMAIL PROTECTED]
  Reviewed by:  Jim Jagielski, Dean Gaudet, Ben Laurie
  Apache header files, and some variable name/types, are more C++ friendly
  
  Revision  ChangesPath
  1.356 +1 -4  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.355
  retrieving revision 1.356
  diff -u -r1.355 -r1.356
  --- STATUS1998/05/03 17:16:56 1.355
  +++ STATUS1998/05/03 17:31:02 1.356
  @@ -85,16 +85,13 @@
   * Jim's fix for MIME type case sensitivity disparity, PR#2112
   * Child processes can now signal to the parent process that
 it (the parent process) should abort, shutting down the server.
  +* Michael Anderson's [EMAIL PROTECTED] C++ friendly patch
   
   Available Patches:
   
   * Dean's mod_alias.c, translate_alias_redir patch
 [EMAIL PROTECTED]
 Status: Dean, Ben, Jim +1
  -
  -* Michael Anderson's [EMAIL PROTECTED] C++ friendly patch
  -  [EMAIL PROTECTED] 
  -  Status: Ben, Jim +1, Dean +1, Ralf +1
   
   * Arnt Gulbrandsen [EMAIL PROTECTED] 03 Apr 1998 21:28:17 +0200
 [EMAIL PROTECTED] mod_usertrack.c patch:
  
  
  
  1.812 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.811
  retrieving revision 1.812
  diff -u -r1.811 -r1.812
  --- CHANGES   1998/05/03 17:16:57 1.811
  +++ CHANGES   1998/05/03 17:31:02 1.812
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b7
   
  +  *) Make Apache header files, and some variables, C++ friendly.
  + [Michael Anderson's [EMAIL PROTECTED]]
  +
 *) Child processes can now signal (by exiting with a status
of APEXIT_CHILDFATAL) the parent process to abort and
shutdown the server if the error in the child process was
  
  
  
  1.56  +10 -1 apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- alloc.h   1998/04/11 12:00:18 1.55
  +++ alloc.h   1998/05/03 17:31:06 1.56
  @@ -58,6 +58,10 @@
   #ifndef APACHE_ALLOC_H
   #define APACHE_ALLOC_H
   
  +#ifdef __cplusplus
  +extern C {
  +#endif
  +
   /*
* Resource allocation routines...
*
  @@ -85,6 +89,7 @@
   #endif
   
   typedef struct pool pool;
  +typedef struct pool ap_pool;
   
   pool * ap_init_alloc(void);  /* Set up everything */
   API_EXPORT(pool *) ap_make_sub_pool(pool *); /* All pools are subpools of 
permanent_pool */
  @@ -131,7 +136,7 @@
*/
   
   typedef struct {
  -pool *pool;
  +ap_pool *pool;
   int elt_size;
   int nelts;
   int nalloc;
  @@ -310,5 +315,9 @@
   
   API_EXPORT(long) ap_bytes_in_pool(pool *p);
   API_EXPORT(long) ap_bytes_in_free_blocks(void);
  +
  +#ifdef __cplusplus
  +}
  +#endif
   
   #endif   /* !APACHE_ALLOC_H */
  
  
  
  1.13  +8 -0  apache-1.3/src/include/ap.h
  
  Index: ap.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap.h,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ap.h  1998/04/19 19:19:37 1.12
  +++ ap.h  1998/05/03 17:31:06 1.13
  @@ -61,6 +61,10 @@
   #ifndef APACHE_AP_H
   #define APACHE_AP_H
   
  +#ifdef __cplusplus
  +extern C {
  +#endif
  +
   API_EXPORT(char *) ap_cpystrn(char *, const char *, size_t);
   int ap_slack(int, int);
   API_EXPORT(char *) ap_escape_quotes(pool *, const char *);
  @@ -146,5 +150,9 @@
__attribute__((format(printf,3,4)));
   API_EXPORT(int) ap_vsnprintf(char *buf, size_t len, const char *format,
 va_list ap);
  +
  +#ifdef __cplusplus
  +}
  +#endif
   
   #endif   /* !APACHE_AP_H */
  
  
  
  1.39  +9 -1  apache-1.3/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/buff.h,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- buff.h1998/04/27 06:59:33 1.38
  +++ buff.h

cvs commit: apache-1.3/src/include alloc.h hide.h

1998-03-04 Thread dgaudet
dgaudet 98/03/04 01:57:29

  Modified:src/helpers UpdateHide
   src/include alloc.h hide.h
  Log:
  When you define ALLOC_DEBUG and POOL_DEBUG you get a few more symbols
  that would be nice to hide.
  
  Revision  ChangesPath
  1.4   +3 -0  apache-1.3/src/helpers/UpdateHide
  
  Index: UpdateHide
  ===
  RCS file: /export/home/cvs/apache-1.3/src/helpers/UpdateHide,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UpdateHide1998/03/04 09:47:37 1.3
  +++ UpdateHide1998/03/04 09:57:26 1.4
  @@ -23,6 +23,9 @@
   @included   = qw(
   D:db_auth_module
   D:dbm_auth_module
  +T:find_pool
  +T:pool_is_ancestor
  +T:pool_join
   );
   
   #   determine os-dependend stuff
  
  
  
  1.46  +4 -0  apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- alloc.h   1998/02/01 20:54:45 1.45
  +++ alloc.h   1998/03/04 09:57:27 1.46
  @@ -91,6 +91,10 @@
* destroyed before the parent pool
*/
   #ifndef POOL_DEBUG
  +/* could be defined when we're using HIDE */
  +#ifdef pool_join
  +#undef pool_join
  +#endif
   #define pool_join(a,b)
   #else
   API_EXPORT(void) pool_join(pool *p, pool *sub);
  
  
  
  1.4   +3 -0  apache-1.3/src/include/hide.h
  
  Index: hide.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/hide.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- hide.h1998/03/04 09:48:38 1.3
  +++ hide.h1998/03/04 09:57:28 1.4
  @@ -294,6 +294,7 @@
   #define find_linked_module AP_find_linked_module
   #define find_module_name   AP_find_module_name
   #define find_path_info AP_find_path_info
  +#define find_pool  AP_find_pool
   #define find_token AP_find_token
   #define find_types AP_find_types
   #define fini_vhost_config  AP_fini_vhost_config
  @@ -415,6 +416,8 @@
   #define pfopen AP_pfopen
   #define pgethostbyname AP_pgethostbyname
   #define plustospaceAP_plustospace
  +#define pool_is_ancestor   AP_pool_is_ancestor
  +#define pool_join  AP_pool_join
   #define popendir   AP_popendir
   #define popenf AP_popenf
   #define pregcomp   AP_pregcomp
  
  
  


cvs commit: apache-1.3/src/include alloc.h

1998-02-01 Thread dgaudet
dgaudet 98/02/01 12:54:46

  Modified:src/main alloc.c
   src/include alloc.h
  Log:
  the new table_xxxn() API should use const char * pointers
  
  Revision  ChangesPath
  1.74  +10 -10apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.73
  retrieving revision 1.74
  diff -u -r1.73 -r1.74
  --- alloc.c   1998/01/31 00:24:32 1.73
  +++ alloc.c   1998/02/01 20:54:44 1.74
  @@ -1003,7 +1003,7 @@
   }
   }
   
  -API_EXPORT(void) table_setn(table *t, char *key, char *val)
  +API_EXPORT(void) table_setn(table *t, const char *key, const char *val)
   {
   register int i, j, k;
   table_entry *elts = (table_entry *) t-a.elts;
  @@ -1025,7 +1025,7 @@
   for (i = 0; i  t-a.nelts; ) {
if (!strcasecmp(elts[i].key, key)) {
if (!done) {
  - elts[i].val =  val;
  + elts[i].val = (char *)val;
done = 1;
++i;
}
  @@ -1044,8 +1044,8 @@
   
   if (!done) {
elts = (table_entry *) table_push(t);
  - elts-key = key;
  - elts-val = val;
  + elts-key = (char *)key;
  + elts-val = (char *)val;
   }
   }
   
  @@ -1090,7 +1090,7 @@
   elts-val = pstrdup(t-a.pool, val);
   }
   
  -API_EXPORT(void) table_mergen(table *t, char *key, char *val)
  +API_EXPORT(void) table_mergen(table *t, const char *key, const char *val)
   {
   table_entry *elts = (table_entry *) t-a.elts;
   int i;
  @@ -1116,8 +1116,8 @@
   }
   
   elts = (table_entry *) table_push(t);
  -elts-key = key;
  -elts-val = val;
  +elts-key = (char *)key;
  +elts-val = (char *)val;
   }
   
   API_EXPORT(void) table_add(table *t, const char *key, const char *val)
  @@ -1129,7 +1129,7 @@
   elts-val = pstrdup(t-a.pool, val);
   }
   
  -API_EXPORT(void) table_addn(table *t, char *key, char *val)
  +API_EXPORT(void) table_addn(table *t, const char *key, const char *val)
   {
   table_entry *elts = (table_entry *) t-a.elts;
   
  @@ -1147,8 +1147,8 @@
   #endif
   
   elts = (table_entry *) table_push(t);
  -elts-key = key;
  -elts-val = val;
  +elts-key = (char *)key;
  +elts-val = (char *)val;
   }
   
   API_EXPORT(table *) overlay_tables(pool *p, const table *overlay, const 
table *base)
  
  
  
  1.45  +3 -3  apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- alloc.h   1998/01/27 10:00:40 1.44
  +++ alloc.h   1998/02/01 20:54:45 1.45
  @@ -164,12 +164,12 @@
   API_EXPORT(void) clear_table(table *);
   API_EXPORT(char *) table_get(const table *, const char *);
   API_EXPORT(void) table_set(table *, const char *name, const char *val);
  -API_EXPORT(void) table_setn(table *, char *name, char *val);
  +API_EXPORT(void) table_setn(table *, const char *name, const char *val);
   API_EXPORT(void) table_merge(table *, const char *name, const char 
*more_val);
  -API_EXPORT(void) table_mergen(table *, char *name, char *more_val);
  +API_EXPORT(void) table_mergen(table *, const char *name, const char 
*more_val);
   API_EXPORT(void) table_unset(table *, const char *key);
   API_EXPORT(void) table_add(table *, const char *name, const char *val);
  -API_EXPORT(void) table_addn(table *, char *name, char *val);
  +API_EXPORT(void) table_addn(table *, const char *name, const char *val);
   API_EXPORT(void) table_do(int (*comp) (void *, const char *, const char *), 
void *rec,
  const table *t,...);