peiyongz 2003/03/09 09:00:39
Modified: c/src/xercesc/util/Platforms/Tru64 Tru64PlatformUtils.cpp
Log:
PanicHandler
Revision Changes Path
1.6 +12 -29
xml-xerces/c/src/xercesc/util/Platforms/Tru64/Tru64PlatformUtils.cpp
Index: Tru64PlatformUtils.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/Tru64/Tru64PlatformUtils.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Tru64PlatformUtils.cpp 4 Nov 2002 15:13:01 -0000 1.5
+++ Tru64PlatformUtils.cpp 9 Mar 2003 17:00:39 -0000 1.6
@@ -78,6 +78,7 @@
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/XMLUni.hpp>
#include <xercesc/util/XMLUniDefs.hpp>
+#include <xercesc/util/PanicHandler.hpp>
//
// These control which transcoding service is used by the Tru64 version.
@@ -153,7 +154,7 @@
}
catch(...)
{
- panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
+ panic(PanicHandler::Panic_CantLoadMsgDomain);
}
return retVal;
}
@@ -184,27 +185,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);
}
// ---------------------------------------------------------------------------
@@ -534,7 +517,7 @@
if (pthread_mutex_init(gAtomicOpMutex, NULL)) {
delete gAtomicOpMutex;
gAtomicOpMutex = 0;
- panic( XMLPlatformUtils::Panic_SystemInit );
+ panic( PanicHandler::Panic_SystemInit );
}
}
@@ -637,14 +620,14 @@
// Currently its supported only in the kernel mode
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;
}
@@ -654,12 +637,12 @@
//return (int)atomic_add_32_nv( (uint32_t*)&location, 1);
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;
}
@@ -668,12 +651,12 @@
//return (int)atomic_add_32_nv( (uint32_t*)&location, -1);
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]