[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] svn_dso_initialize can *silently* fail to create lock

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: Fri, 01 Aug 2008 20:58:57 +0530

Hi All,

The svn_dso_initialize can *silently* fail to create lock causing
failures later.

Attached patch fixes it.

Want to know what others would think about it.

With regards
Kamesh Jayachandran

Fix 'svn_dso_initialize' which was *silently* failing to create lock
and causing later accessors to fail.

* subversion/libsvn_subr/dso.c
  (svn_dso_initialize): When 'apr_thread_mutex_create' is not successful,
   abort.

Index: subversion/libsvn_subr/dso.c
===================================================================
--- subversion/libsvn_subr/dso.c (revision 32351)
+++ subversion/libsvn_subr/dso.c (working copy)
@@ -44,13 +44,17 @@
 void
 svn_dso_initialize()
 {
+ apr_status_t status;
   if (dso_pool)
     return;
 
   dso_pool = svn_pool_create(NULL);
 
 #if APR_HAS_THREADS
- apr_thread_mutex_create(&dso_mutex, APR_THREAD_MUTEX_DEFAULT, dso_pool);
+ status = apr_thread_mutex_create(&dso_mutex,
+ APR_THREAD_MUTEX_DEFAULT, dso_pool);
+ if (status)
+ abort();
 #endif
 
   dso_cache = apr_hash_make(dso_pool);

Received on 2008-08-01 17:30:08 CEST

This is an archived mail posted to the Subversion Dev mailing list.