summaryrefslogtreecommitdiff
path: root/ucb/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2010-12-09 20:32:23 +0000
committerCaolán McNamara <caolanm@redhat.com>2010-12-09 20:33:13 +0000
commit85c2c9a5a2869cfbf6b4a65bf7acddead85b2336 (patch)
treede81d8ab7c0066ad7c0a78285958a482f51fd6be /ucb/source
parent16163cb3d862331a86845cd87192502234e19829 (diff)
Resolves: rhbz#668109 ne_simple_propfind can touch gcrypt as well
Diffstat (limited to 'ucb/source')
-rw-r--r--ucb/source/ucp/webdav/NeonPropFindRequest.cxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/ucb/source/ucp/webdav/NeonPropFindRequest.cxx b/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
index 807a255efcc3..ff2298fe5f6a 100644
--- a/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
+++ b/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
@@ -260,6 +260,8 @@ extern "C" void NPFR_propnames_results( void* userdata,
theResources->push_back( theResource );
}
+extern osl::Mutex aGlobalNeonMutex;
+
// -------------------------------------------------------------------
// Constructor
// -------------------------------------------------------------------
@@ -287,12 +289,15 @@ NeonPropFindRequest::NeonPropFindRequest( HttpSession* inSession,
thePropNames[ theIndex ].nspace = NULL;
thePropNames[ theIndex ].name = NULL;
- nError = ne_simple_propfind( inSession,
- inPath,
- inDepth,
- thePropNames,
- NPFR_propfind_results,
- &ioResources );
+ {
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
+ nError = ne_simple_propfind( inSession,
+ inPath,
+ inDepth,
+ thePropNames,
+ NPFR_propfind_results,
+ &ioResources );
+ }
for ( theIndex = 0; theIndex < thePropCount; theIndex ++ )
free( (void *)thePropNames[ theIndex ].name );
@@ -302,6 +307,7 @@ NeonPropFindRequest::NeonPropFindRequest( HttpSession* inSession,
else
{
// ALLPROP
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
nError = ne_simple_propfind( inSession,
inPath,
inDepth,