httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@hyperreal.org
Subject cvs commit: apache-2.0/src/lib/apr/test testthread.c
Date Mon, 20 Sep 1999 21:33:11 GMT
rbb         99/09/20 14:33:11

  Modified:    src/lib/apr/include apr_lock.h
               src/lib/apr/locks/unix locks.c
               src/lib/apr/test testthread.c
  Log:
  Allow APR locks to do more than just straight mutex.  Only mutex is
  implemented, but at least now we can add different kinds of locks later.
  
  Revision  Changes    Path
  1.3       +5 -2      apache-2.0/src/lib/apr/include/apr_lock.h
  
  Index: apr_lock.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_lock.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- apr_lock.h	1999/09/14 13:37:21	1.2
  +++ apr_lock.h	1999/09/20 21:33:05	1.3
  @@ -63,12 +63,15 @@
   extern "C" {
   #endif /* __cplusplus */
   
  -typedef enum {APR_CROSS_PROCESS, APR_INTRAPROCESS, APR_LOCKALL} ap_locktype_e;
  +typedef enum {APR_CROSS_PROCESS, APR_INTRAPROCESS, APR_LOCKALL} ap_lockscope_e;
   
  +typedef enum {APR_MUTEX, APR_READWRITE} ap_locktype_e;
  +
   typedef struct lock_t           ap_lock_t;
   
   /*   Function definitions */
  -ap_status_t ap_create_lock(ap_context_t *, ap_locktype_e, char *, ap_lock_t **);
  +ap_status_t ap_create_lock(ap_context_t *, ap_locktype_e, ap_lockscope_e, 
  +                           char *, ap_lock_t **);
   ap_status_t ap_lock(ap_lock_t *);
   ap_status_t ap_unlock(ap_lock_t *);
   ap_status_t ap_destroy_lock(ap_lock_t *);
  
  
  
  1.4       +7 -2      apache-2.0/src/lib/apr/locks/unix/locks.c
  
  Index: locks.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/locks/unix/locks.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- locks.c	1999/09/14 13:37:23	1.3
  +++ locks.c	1999/09/20 21:33:07	1.4
  @@ -76,7 +76,9 @@
    * NOTE:  APR_CROSS_PROCESS may lock both processes and threads, but it is
    *        only garaunteed to lock processes.
    */
  -ap_status_t ap_create_lock(ap_context_t *cont, ap_locktype_e type, char *fname, struct
lock_t **lock)
  +ap_status_t ap_create_lock(ap_context_t *cont, ap_locktype_e type, 
  +                           ap_lockscope_e scope, char *fname, 
  +                           struct lock_t **lock)
   {
       struct lock_t *new;
       ap_status_t stat;
  @@ -196,7 +198,8 @@
    * ap_status_t ap_get_lockdata(ap_lock_t *, char *key, void *)
    *    Return the context associated with the current lock.
    * arg 1) The currently open lock.
  - * arg 2) The user data associated with the lock.
  + * arg 2) The key to use when retreiving data associated with this lock
  + * arg 3) The user data associated with the lock.
    */
   ap_status_t ap_get_lockdata(struct lock_t *lock, char *key, void *data)
   {
  @@ -215,6 +218,8 @@
    *    Return the context associated with the current lock.
    * arg 1) The currently open lock.
    * arg 2) The user data to associate with the lock.
  + * arg 3) The key to use when associating data with this lock
  + * arg 4) The cleanup to use when the lock is destroyed.
    */
   ap_status_t ap_set_lockdata(struct lock_t *lock, void *data, char *key,
                               ap_status_t (*cleanup) (void *))
  
  
  
  1.3       +1 -1      apache-2.0/src/lib/apr/test/testthread.c
  
  Index: testthread.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/test/testthread.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- testthread.c	1999/09/14 13:37:27	1.2
  +++ testthread.c	1999/09/20 21:33:09	1.3
  @@ -136,7 +136,7 @@
       fprintf(stdout, "OK\n");
   
       fprintf(stdout, "Initializing the lock......."); 
  -    s1 = ap_create_lock(context, APR_INTRAPROCESS, "lock.file", &thread_lock); 
  +    s1 = ap_create_lock(context, APR_MUTEX, APR_INTRAPROCESS, "lock.file", &thread_lock);

       if (s1 != APR_SUCCESS) {
           fprintf(stderr, "Could not create lock\n");
           exit(-1);
  
  
  

Mime
View raw message