You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "zhang (JIRA)" <ax...@ws.apache.org> on 2006/01/16 18:11:20 UTC

[jira] Created: (AXISCPP-902) Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong for Win32

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


[jira] Closed: (AXISCPP-902) Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong for Win32

Posted by "nadir amra (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-902?page=all ]

nadir amra closed AXISCPP-902.
------------------------------


> 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++
>          Issue Type: Bug
>          Components: Client - Engine
>    Affects Versions: 1.5 Final
>         Environment: Windows XP
>            Reporter: zhang
>         Assigned To: Adrian Dick
>             Fix For: 1.6 Alpha
>
>
> 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


[jira] Resolved: (AXISCPP-902) Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong for Win32

Posted by "Adrian Dick (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-902?page=all ]
     
Adrian Dick resolved AXISCPP-902:
---------------------------------

    Fix Version: 1.6 Alpha
     Resolution: Fixed

I have made the modifications as suggested, and they seem to work nicely across the test suite using VC++ 6.0 and 7.1.

Thanks.

> 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
>      Fix For: 1.6 Alpha

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


[jira] Assigned: (AXISCPP-902) Synchronization used by engine\axis.cpp in start_initializing and done_initializing was wrong for Win32

Posted by "Adrian Dick (JIRA)" <ax...@ws.apache.org>.
     [ 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