axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhang (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Created: (AXISCPP-902) Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong for Win32
Date Mon, 16 Jan 2006 17:11:20 GMT
Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong
for Win32
-------------------------------------------------------------------------------------------------------

         Key: AXISCPP-902
         URL: http://issues.apache.org/jira/browse/AXISCPP-902
     Project: Axis-C++
        Type: Bug
  Components: Client - Engine  
    Versions: 1.5 Final    
 Environment: Windows XP
    Reporter: zhang


Synchronization used by engine\axis.cpp in start_initializing and done_initializing is implemented
incorrectly for Windows platform. Please have a look at the parameters passed in to InterlockedCompareExchange.
It incorrectly passed in addresses (i.e. pointers).

The solution to it: replace the #ifdef WIN32 block by the following:

#ifdef WIN32

static CRITICAL_SECTION g_initializationCriticalSection;
static BOOL g_bCSInitialized = (InitializeCriticalSection(&g_initializationCriticalSection),
TRUE);
static void start_initializing()
{
    EnterCriticalSection(&g_initializationCriticalSection);
}
static void done_initializing()
{
    LeaveCriticalSection(&g_initializationCriticalSection);
}

#else

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message