You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by rb...@apache.org on 2001/09/14 17:39:38 UTC

cvs commit: apr/locks/unix thread_rwlock.c

rbb         01/09/14 08:39:38

  Modified:    include/arch/unix thread_rwlock.h
               locks/unix thread_rwlock.c
  Log:
  Just because we have pthreads, that doesn't mean we have pthread_rwlock.
  This removes support for rwlock on platforms that don't have them.  I will
  write an implementation of rwlocks that don't rely on pthreads later this
  weekend.
  
  Revision  Changes    Path
  1.2       +9 -0      apr/include/arch/unix/thread_rwlock.h
  
  Index: thread_rwlock.h
  ===================================================================
  RCS file: /home/cvs/apr/include/arch/unix/thread_rwlock.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- thread_rwlock.h	2001/09/08 23:36:34	1.1
  +++ thread_rwlock.h	2001/09/14 15:39:38	1.2
  @@ -67,10 +67,19 @@
   #endif
   
   #if APR_HAS_THREADS
  +#if HAVE_PTHREAD_RWLOCK_INIT
  +
   struct apr_thread_rwlock_t {
       apr_pool_t *pool;
       pthread_rwlock_t *rwlock;
   };
  +
  +#else
  +
  +struct apr_thread_rwlock_t {
  +};
  +#endif
  +
   #endif
   
   #endif  /* THREAD_RWLOCK_H */
  
  
  
  1.2       +48 -0     apr/locks/unix/thread_rwlock.c
  
  Index: thread_rwlock.c
  ===================================================================
  RCS file: /home/cvs/apr/locks/unix/thread_rwlock.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- thread_rwlock.c	2001/09/08 23:36:34	1.1
  +++ thread_rwlock.c	2001/09/14 15:39:38	1.2
  @@ -53,9 +53,12 @@
    */
   
   #include "thread_rwlock.h"
  +#include "apr_private.h"
   
   #if APR_HAS_THREADS
   
  +#ifdef HAVE_PTHREAD_RWLOCK_INIT
  +
   static apr_status_t thread_rwlock_cleanup(void *data)
   {
       apr_thread_rwlock_t *rwlock = (apr_thread_rwlock_t *)data;
  @@ -188,5 +191,50 @@
       }
       return stat;
   }
  +
  +#else  /* HAVE_PTHREAD_RWLOCK_INIT */
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_create(apr_thread_rwlock_t **rwlock,
  +                                                   apr_pool_t *pool)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_rdlock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_tryrdlock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_wrlock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_trywrlock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_lock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_unlock(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +APR_DECLARE(apr_status_t) apr_thread_rwlock_destroy(apr_thread_rwlock_t *rwlock)
  +{
  +    return APR_ENOTIMPL;
  +}
  +
  +#endif /* HAVE_PTHREAD_RWLOCK_INIT */
   
   #endif /* APR_HAS_THREADS */