Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 27145 invoked from network); 17 Jan 2006 13:27:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Jan 2006 13:27:47 -0000 Received: (qmail 5261 invoked by uid 500); 17 Jan 2006 13:27:32 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 5165 invoked by uid 500); 17 Jan 2006 13:27:32 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 5133 invoked by uid 99); 17 Jan 2006 13:27:32 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Jan 2006 05:27:32 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 17 Jan 2006 05:27:31 -0800 Received: (qmail 26209 invoked by uid 65534); 17 Jan 2006 13:27:11 -0000 Message-ID: <20060117132710.26208.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r369773 - /webservices/axis/trunk/c/src/engine/Axis.cpp Date: Tue, 17 Jan 2006 13:27:09 -0000 To: axis-cvs@ws.apache.org From: dicka@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: dicka Date: Tue Jan 17 05:27:00 2006 New Revision: 369773 URL: http://svn.apache.org/viewcvs?rev=369773&view=rev Log: Improve synchronization for Win32 as per AXISCPP-902 Modified: webservices/axis/trunk/c/src/engine/Axis.cpp Modified: webservices/axis/trunk/c/src/engine/Axis.cpp URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/engine/Axis.cpp?rev=369773&r1=369772&r2=369773&view=diff ============================================================================== --- webservices/axis/trunk/c/src/engine/Axis.cpp (original) +++ webservices/axis/trunk/c/src/engine/Axis.cpp Tue Jan 17 05:27:00 2006 @@ -308,17 +308,16 @@ #ifdef WIN32 -static volatile long g_uModuleInitializing = 0; -static void start_initializing() -{ - while (InterlockedIncrement((LONG*)&g_uModuleInitializing) != 1) { - InterlockedDecrement((LONG*)&g_uModuleInitializing); - } -} -static void done_initializing() -{ - InterlockedDecrement((LONG*)&g_uModuleInitializing); -} +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