[ http://issues.apache.org/jira/browse/AXISCPP-902?page=all ]

Adrian Dick reassigned AXISCPP-902:
-----------------------------------

    Assign To: Adrian Dick

> 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
>     Assignee: Adrian Dick

>
> 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

Reply via email to