[ 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