peiyongz    2003/03/09 08:57:18

  Modified:    c/src/xercesc/util/Platforms/OpenServer
                        OpenServerPlatformUtils.cpp
  Log:
  PanicHandler
  
  Revision  Changes    Path
  1.5       +14 -28    
xml-xerces/c/src/xercesc/util/Platforms/OpenServer/OpenServerPlatformUtils.cpp
  
  Index: OpenServerPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/OpenServer/OpenServerPlatformUtils.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- OpenServerPlatformUtils.cpp       19 Nov 2002 13:04:32 -0000      1.4
  +++ OpenServerPlatformUtils.cpp       9 Mar 2003 16:57:18 -0000       1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/03/09 16:57:18  peiyongz
  + * PanicHandler
  + *
    * Revision 1.4  2002/11/19 13:04:32  gareth
    * Bug# 14661 Caldera implemented openFileToWrite and writeBufferToFile. Patch from 
Cameron Dorrat.
    *
  @@ -95,6 +98,7 @@
   #include    <xercesc/util/XMLString.hpp>
   #include    <xercesc/util/XMLUniDefs.hpp>
   #include    <xercesc/util/XMLUni.hpp>
  +#include    <xercesc/util/PanicHandler.hpp>
   
   #if defined (XML_USE_ICU_TRANSCODER)
   #   include <xercesc/util/Transcoders/ICU/ICUTransService.hpp>
  @@ -146,7 +150,7 @@
       }
       catch(...)
       {
  -        panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
  +        panic(PanicHandler::Panic_CantLoadMsgDomain);
       }
       return retVal;
   }
  @@ -182,27 +186,9 @@
   // ---------------------------------------------------------------------------
   //  XMLPlatformUtils: The panic method
   // ---------------------------------------------------------------------------
  -void XMLPlatformUtils::panic(const PanicReasons reason)
  +void XMLPlatformUtils::panic(const PanicHandler::PanicReasons reason)
   {
  -     const char* reasonStr = "Unknown reason";
  -    if (reason == Panic_NoTransService)
  -        reasonStr = "Could not load a transcoding service";
  -    else if (reason == Panic_NoDefTranscoder)
  -        reasonStr = "Could not load a local code page transcoder";
  -    else if (reason == Panic_CantFindLib)
  -        reasonStr = "Could not find the xerces-c DLL";
  -    else if (reason == Panic_UnknownMsgDomain)
  -        reasonStr = "Unknown message domain";
  -    else if (reason == Panic_CantLoadMsgDomain)
  -        reasonStr = "Cannot load message domain";
  -    else if (reason == Panic_SynchronizationErr)
  -        reasonStr = "Cannot synchronize system or mutex";
  -    else if (reason == Panic_SystemInit)
  -        reasonStr = "Cannot initialize the system or mutex";
  -
  -    fprintf(stderr, "%s\n", reasonStr);
  -
  -    exit(-1);
  +    fgUserPanicHandler? fgUserPanicHandler->panic(reason) : 
fgDefaultPanicHandler->panic(reason);    
   }
   
   // ---------------------------------------------------------------------------
  @@ -532,7 +518,7 @@
        {
                delete gAtomicOpMutex;
                gAtomicOpMutex = 0;
  -             panic(XMLPlatformUtils::Panic_SystemInit);
  +             panic(PanicHandler::Panic_SystemInit);
        }
   }
   
  @@ -628,14 +614,14 @@
                                                                           const void* 
const   toCompare)
   {
        if (pthread_mutex_lock(gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        void *retVal = *toFill;
        if (*toFill == toCompare)
                *toFill = (void *)newValue;
   
        if (pthread_mutex_unlock(gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        return retVal;
   }
  @@ -643,12 +629,12 @@
   int XMLPlatformUtils::atomicIncrement(int &location)
   {
        if (pthread_mutex_lock(gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        int tmp = ++location;
   
        if (pthread_mutex_unlock(gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        return tmp;
   }
  @@ -656,12 +642,12 @@
   int XMLPlatformUtils::atomicDecrement(int &location)
   {
        if (pthread_mutex_lock(gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        int tmp = --location;
   
        if (pthread_mutex_unlock( gAtomicOpMutex))
  -             panic(XMLPlatformUtils::Panic_SynchronizationErr);
  +             panic(PanicHandler::Panic_SynchronizationErr);
   
        return tmp;
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to