You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by jean-frederic clere <jf...@fujitsu-siemens.com> on 2002/11/21 15:36:54 UTC

Re: cvs commit: apr/locks/unix proc_mutex.c

Hi Ryan,

apr_proc_mutex_destroy is still in locks/unix/global_mutex.c.

Do I miss something?

Cheers

Jean-frederic


rbb@apache.org wrote:
> rbb         2002/11/20 13:11:43
> 
>   Modified:    include  apr_proc_mutex.h
>                include/arch/unix proc_mutex.h
>                locks/unix proc_mutex.c
>   Log:
>   Register the proc_mutex cleanup with an exported API.  Most of this
>   change is just a name change to make it very obvious what is happening.
>   
>   Revision  Changes    Path
>   1.10      +8 -0      apr/include/apr_proc_mutex.h
>   
>   Index: apr_proc_mutex.h
>   ===================================================================
>   RCS file: /home/cvs/apr/include/apr_proc_mutex.h,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- apr_proc_mutex.h	10 Nov 2002 08:35:16 -0000	1.9
>   +++ apr_proc_mutex.h	20 Nov 2002 21:11:43 -0000	1.10
>   @@ -163,6 +163,14 @@
>    APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex);
>    
>    /**
>   + * Destroy the mutex and free the memory associated with the lock.
>   + * @param mutex the mutex to destroy.
>   + * @note This function is generally used to kill a cleanup on an already
>   + *       created mutex
>   + */
>   +APR_DECLARE(apr_status_t) apr_proc_mutex_cleanup(void *mutex);
>   +
>   +/**
>     * Display the name of the mutex, as it relates to the actual method used.
>     * This matches the valid options for Apache's AcceptMutex directive
>     * @param mutex the name of the mutex
>   
>   
>   
>   1.11      +1 -1      apr/include/arch/unix/proc_mutex.h
>   
>   Index: proc_mutex.h
>   ===================================================================
>   RCS file: /home/cvs/apr/include/arch/unix/proc_mutex.h,v
>   retrieving revision 1.10
>   retrieving revision 1.11
>   diff -u -r1.10 -r1.11
>   --- proc_mutex.h	18 Nov 2002 01:59:03 -0000	1.10
>   +++ proc_mutex.h	20 Nov 2002 21:11:43 -0000	1.11
>   @@ -111,7 +111,7 @@
>        apr_status_t (*acquire)(apr_proc_mutex_t *);
>        apr_status_t (*tryacquire)(apr_proc_mutex_t *);
>        apr_status_t (*release)(apr_proc_mutex_t *);
>   -    apr_status_t (*destroy)(apr_proc_mutex_t *);
>   +    apr_status_t (*cleanup)(void *);
>        apr_status_t (*child_init)(apr_proc_mutex_t **, apr_pool_t *, const char *);
>        const char *name;
>    };
>   
>   
>   
>   1.21      +18 -23    apr/locks/unix/proc_mutex.c
>   
>   Index: proc_mutex.c
>   ===================================================================
>   RCS file: /home/cvs/apr/locks/unix/proc_mutex.c,v
>   retrieving revision 1.20
>   retrieving revision 1.21
>   diff -u -r1.20 -r1.21
>   --- proc_mutex.c	18 Nov 2002 01:59:03 -0000	1.20
>   +++ proc_mutex.c	20 Nov 2002 21:11:43 -0000	1.21
>   @@ -63,6 +63,12 @@
>    #define SEM_FAILED (-1)
>    #endif
>    
>   +static apr_status_t proc_mutex_destroy(apr_proc_mutex_t *mutex)
>   +{
>   +    return apr_pool_cleanup_run(mutex->pool, mutex, apr_proc_mutex_cleanup);
>   +}
>   +
>   +
>    static void proc_mutex_posix_setup(void)
>    {
>    }
>   @@ -122,7 +128,7 @@
>        sem_unlink((const char *) semname);
>        new_mutex->interproc->filedes = (int)psem;	/* Ugg */
>        apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
>   -                              proc_mutex_posix_cleanup, 
>   +                              apr_proc_mutex_cleanup, 
>                                  apr_pool_cleanup_null);
>        return APR_SUCCESS;
>    }
>   @@ -149,17 +155,6 @@
>        return APR_SUCCESS;
>    }
>    
>   -static apr_status_t proc_mutex_posix_destroy(apr_proc_mutex_t *mutex)
>   -{
>   -    apr_status_t stat;
>   -
>   -    if ((stat = proc_mutex_posix_cleanup(mutex)) == APR_SUCCESS) {
>   -        apr_pool_cleanup_kill(mutex->pool, mutex, proc_mutex_posix_cleanup);
>   -        return APR_SUCCESS;
>   -    }
>   -    return stat;
>   -}
>   -
>    static apr_status_t proc_mutex_posix_child_init(apr_proc_mutex_t **mutex,
>                                                    apr_pool_t *cont,
>                                                    const char *fname)
>   @@ -178,7 +173,7 @@
>        proc_mutex_posix_acquire,
>        NULL, /* no tryacquire */
>        proc_mutex_posix_release,
>   -    proc_mutex_posix_destroy,
>   +    proc_mutex_posix_cleanup,
>        proc_mutex_posix_child_init,
>        "posixsem"
>    };
>   @@ -234,7 +229,7 @@
>        }
>        new_mutex->curr_locked = 0;
>        apr_pool_cleanup_register(new_mutex->pool,
>   -                              (void *)new_mutex, proc_mutex_sysv_cleanup, 
>   +                              (void *)new_mutex, apr_proc_mutex_cleanup, 
>                                  apr_pool_cleanup_null);
>        return APR_SUCCESS;
>    }
>   @@ -294,7 +289,7 @@
>        proc_mutex_sysv_acquire,
>        NULL, /* no tryacquire */
>        proc_mutex_sysv_release,
>   -    proc_mutex_sysv_destroy,
>   +    proc_mutex_sysv_cleanup,
>        proc_mutex_sysv_child_init,
>        "sysvsem"
>    };
>   @@ -399,7 +394,7 @@
>        new_mutex->curr_locked = 0;
>        apr_pool_cleanup_register(new_mutex->pool,
>                                  (void *)new_mutex,
>   -                              proc_mutex_proc_pthread_cleanup, 
>   +                              apr_proc_mutex_cleanup, 
>                                  apr_pool_cleanup_null);
>        return APR_SUCCESS;
>    }
>   @@ -469,7 +464,7 @@
>        proc_mutex_proc_pthread_acquire,
>        NULL, /* no tryacquire */
>        proc_mutex_proc_pthread_release,
>   -    proc_mutex_proc_pthread_destroy,
>   +    proc_mutex_proc_pthread_cleanup,
>        proc_mutex_proc_pthread_child_init,
>        "pthread"
>    };
>   @@ -544,7 +539,7 @@
>        unlink(new_mutex->fname);
>        apr_pool_cleanup_register(new_mutex->pool,
>                                  (void*)new_mutex,
>   -                              proc_mutex_fcntl_cleanup, 
>   +                              apr_proc_mutex_cleanup, 
>                                  apr_pool_cleanup_null);
>        return APR_SUCCESS; 
>    }
>   @@ -605,7 +600,7 @@
>        proc_mutex_fcntl_acquire,
>        NULL, /* no tryacquire */
>        proc_mutex_fcntl_release,
>   -    proc_mutex_fcntl_destroy,
>   +    proc_mutex_fcntl_cleanup,
>        proc_mutex_fcntl_child_init,
>        "fcntl"
>    };
>   @@ -659,7 +654,7 @@
>        }
>        new_mutex->curr_locked = 0;
>        apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
>   -                              proc_mutex_flock_cleanup,
>   +                              apr_proc_mutex_cleanup,
>                                  apr_pool_cleanup_null);
>        return APR_SUCCESS;
>    }
>   @@ -735,7 +730,7 @@
>        proc_mutex_flock_acquire,
>        NULL, /* no tryacquire */
>        proc_mutex_flock_release,
>   -    proc_mutex_flock_destroy,
>   +    proc_mutex_flock_cleanup,
>        proc_mutex_flock_child_init,
>        "flock"
>    };
>   @@ -895,9 +890,9 @@
>        return mutex->meth->release(mutex);
>    }
>    
>   -APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex)
>   +APR_DECLARE(apr_status_t) apr_proc_mutex_cleanup(void *mutex)
>    {
>   -    return mutex->meth->destroy(mutex);
>   +    return ((apr_proc_mutex_t *)mutex)->meth->cleanup(mutex);
>    }
>    
>    APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex)
>   
>   
>   
> 
> 




Re: cvs commit: apr/locks/unix proc_mutex.c

Posted by rb...@apache.org.

On Thu, 21 Nov 2002, jean-frederic clere wrote:

> Hi Ryan,
>
> apr_proc_mutex_destroy is still in locks/unix/global_mutex.c.
>
> Do I miss something?

Just a type on my part.  I have fixed it.  Thanks.

Ryan

>
> Cheers
>
> Jean-frederic
>
>
> rbb@apache.org wrote:
> > rbb         2002/11/20 13:11:43
> >
> >   Modified:    include  apr_proc_mutex.h
> >                include/arch/unix proc_mutex.h
> >                locks/unix proc_mutex.c
> >   Log:
> >   Register the proc_mutex cleanup with an exported API.  Most of this
> >   change is just a name change to make it very obvious what is happening.
> >
> >   Revision  Changes    Path
> >   1.10      +8 -0      apr/include/apr_proc_mutex.h
> >
> >   Index: apr_proc_mutex.h
> >   ===================================================================
> >   RCS file: /home/cvs/apr/include/apr_proc_mutex.h,v
> >   retrieving revision 1.9
> >   retrieving revision 1.10
> >   diff -u -r1.9 -r1.10
> >   --- apr_proc_mutex.h	10 Nov 2002 08:35:16 -0000	1.9
> >   +++ apr_proc_mutex.h	20 Nov 2002 21:11:43 -0000	1.10
> >   @@ -163,6 +163,14 @@
> >    APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex);
> >
> >    /**
> >   + * Destroy the mutex and free the memory associated with the lock.
> >   + * @param mutex the mutex to destroy.
> >   + * @note This function is generally used to kill a cleanup on an already
> >   + *       created mutex
> >   + */
> >   +APR_DECLARE(apr_status_t) apr_proc_mutex_cleanup(void *mutex);
> >   +
> >   +/**
> >     * Display the name of the mutex, as it relates to the actual method used.
> >     * This matches the valid options for Apache's AcceptMutex directive
> >     * @param mutex the name of the mutex
> >
> >
> >
> >   1.11      +1 -1      apr/include/arch/unix/proc_mutex.h
> >
> >   Index: proc_mutex.h
> >   ===================================================================
> >   RCS file: /home/cvs/apr/include/arch/unix/proc_mutex.h,v
> >   retrieving revision 1.10
> >   retrieving revision 1.11
> >   diff -u -r1.10 -r1.11
> >   --- proc_mutex.h	18 Nov 2002 01:59:03 -0000	1.10
> >   +++ proc_mutex.h	20 Nov 2002 21:11:43 -0000	1.11
> >   @@ -111,7 +111,7 @@
> >        apr_status_t (*acquire)(apr_proc_mutex_t *);
> >        apr_status_t (*tryacquire)(apr_proc_mutex_t *);
> >        apr_status_t (*release)(apr_proc_mutex_t *);
> >   -    apr_status_t (*destroy)(apr_proc_mutex_t *);
> >   +    apr_status_t (*cleanup)(void *);
> >        apr_status_t (*child_init)(apr_proc_mutex_t **, apr_pool_t *, const char *);
> >        const char *name;
> >    };
> >
> >
> >
> >   1.21      +18 -23    apr/locks/unix/proc_mutex.c
> >
> >   Index: proc_mutex.c
> >   ===================================================================
> >   RCS file: /home/cvs/apr/locks/unix/proc_mutex.c,v
> >   retrieving revision 1.20
> >   retrieving revision 1.21
> >   diff -u -r1.20 -r1.21
> >   --- proc_mutex.c	18 Nov 2002 01:59:03 -0000	1.20
> >   +++ proc_mutex.c	20 Nov 2002 21:11:43 -0000	1.21
> >   @@ -63,6 +63,12 @@
> >    #define SEM_FAILED (-1)
> >    #endif
> >
> >   +static apr_status_t proc_mutex_destroy(apr_proc_mutex_t *mutex)
> >   +{
> >   +    return apr_pool_cleanup_run(mutex->pool, mutex, apr_proc_mutex_cleanup);
> >   +}
> >   +
> >   +
> >    static void proc_mutex_posix_setup(void)
> >    {
> >    }
> >   @@ -122,7 +128,7 @@
> >        sem_unlink((const char *) semname);
> >        new_mutex->interproc->filedes = (int)psem;	/* Ugg */
> >        apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
> >   -                              proc_mutex_posix_cleanup,
> >   +                              apr_proc_mutex_cleanup,
> >                                  apr_pool_cleanup_null);
> >        return APR_SUCCESS;
> >    }
> >   @@ -149,17 +155,6 @@
> >        return APR_SUCCESS;
> >    }
> >
> >   -static apr_status_t proc_mutex_posix_destroy(apr_proc_mutex_t *mutex)
> >   -{
> >   -    apr_status_t stat;
> >   -
> >   -    if ((stat = proc_mutex_posix_cleanup(mutex)) == APR_SUCCESS) {
> >   -        apr_pool_cleanup_kill(mutex->pool, mutex, proc_mutex_posix_cleanup);
> >   -        return APR_SUCCESS;
> >   -    }
> >   -    return stat;
> >   -}
> >   -
> >    static apr_status_t proc_mutex_posix_child_init(apr_proc_mutex_t **mutex,
> >                                                    apr_pool_t *cont,
> >                                                    const char *fname)
> >   @@ -178,7 +173,7 @@
> >        proc_mutex_posix_acquire,
> >        NULL, /* no tryacquire */
> >        proc_mutex_posix_release,
> >   -    proc_mutex_posix_destroy,
> >   +    proc_mutex_posix_cleanup,
> >        proc_mutex_posix_child_init,
> >        "posixsem"
> >    };
> >   @@ -234,7 +229,7 @@
> >        }
> >        new_mutex->curr_locked = 0;
> >        apr_pool_cleanup_register(new_mutex->pool,
> >   -                              (void *)new_mutex, proc_mutex_sysv_cleanup,
> >   +                              (void *)new_mutex, apr_proc_mutex_cleanup,
> >                                  apr_pool_cleanup_null);
> >        return APR_SUCCESS;
> >    }
> >   @@ -294,7 +289,7 @@
> >        proc_mutex_sysv_acquire,
> >        NULL, /* no tryacquire */
> >        proc_mutex_sysv_release,
> >   -    proc_mutex_sysv_destroy,
> >   +    proc_mutex_sysv_cleanup,
> >        proc_mutex_sysv_child_init,
> >        "sysvsem"
> >    };
> >   @@ -399,7 +394,7 @@
> >        new_mutex->curr_locked = 0;
> >        apr_pool_cleanup_register(new_mutex->pool,
> >                                  (void *)new_mutex,
> >   -                              proc_mutex_proc_pthread_cleanup,
> >   +                              apr_proc_mutex_cleanup,
> >                                  apr_pool_cleanup_null);
> >        return APR_SUCCESS;
> >    }
> >   @@ -469,7 +464,7 @@
> >        proc_mutex_proc_pthread_acquire,
> >        NULL, /* no tryacquire */
> >        proc_mutex_proc_pthread_release,
> >   -    proc_mutex_proc_pthread_destroy,
> >   +    proc_mutex_proc_pthread_cleanup,
> >        proc_mutex_proc_pthread_child_init,
> >        "pthread"
> >    };
> >   @@ -544,7 +539,7 @@
> >        unlink(new_mutex->fname);
> >        apr_pool_cleanup_register(new_mutex->pool,
> >                                  (void*)new_mutex,
> >   -                              proc_mutex_fcntl_cleanup,
> >   +                              apr_proc_mutex_cleanup,
> >                                  apr_pool_cleanup_null);
> >        return APR_SUCCESS;
> >    }
> >   @@ -605,7 +600,7 @@
> >        proc_mutex_fcntl_acquire,
> >        NULL, /* no tryacquire */
> >        proc_mutex_fcntl_release,
> >   -    proc_mutex_fcntl_destroy,
> >   +    proc_mutex_fcntl_cleanup,
> >        proc_mutex_fcntl_child_init,
> >        "fcntl"
> >    };
> >   @@ -659,7 +654,7 @@
> >        }
> >        new_mutex->curr_locked = 0;
> >        apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
> >   -                              proc_mutex_flock_cleanup,
> >   +                              apr_proc_mutex_cleanup,
> >                                  apr_pool_cleanup_null);
> >        return APR_SUCCESS;
> >    }
> >   @@ -735,7 +730,7 @@
> >        proc_mutex_flock_acquire,
> >        NULL, /* no tryacquire */
> >        proc_mutex_flock_release,
> >   -    proc_mutex_flock_destroy,
> >   +    proc_mutex_flock_cleanup,
> >        proc_mutex_flock_child_init,
> >        "flock"
> >    };
> >   @@ -895,9 +890,9 @@
> >        return mutex->meth->release(mutex);
> >    }
> >
> >   -APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex)
> >   +APR_DECLARE(apr_status_t) apr_proc_mutex_cleanup(void *mutex)
> >    {
> >   -    return mutex->meth->destroy(mutex);
> >   +    return ((apr_proc_mutex_t *)mutex)->meth->cleanup(mutex);
> >    }
> >
> >    APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex)
> >
> >
> >
> >
> >
>
>
>
>