cargilld    2005/04/05 11:36:01

  Modified:    c/src/xercesc/util PanicHandler.cpp PanicHandler.hpp
               c/src/xercesc/util/Platforms/AIX AIXPlatformUtils.cpp
               c/src/xercesc/util/Platforms/BeOS BeOSPlatformUtils.cpp
               c/src/xercesc/util/Platforms/FreeBSD
                        FreeBSDPlatformUtils.cpp
               c/src/xercesc/util/Platforms/HPUX HPPlatformUtils.cpp
               c/src/xercesc/util/Platforms/Interix
                        InterixPlatformUtils.cpp
               c/src/xercesc/util/Platforms/IRIX IRIXPlatformUtils.cpp
               c/src/xercesc/util/Platforms/Linux LinuxPlatformUtils.cpp
               c/src/xercesc/util/Platforms/NetBSD NetBSDPlatformUtils.cpp
               c/src/xercesc/util/Platforms/OpenServer
                        OpenServerPlatformUtils.cpp
               c/src/xercesc/util/Platforms/OS2 OS2PlatformUtils.cpp
               c/src/xercesc/util/Platforms/OS390 OS390PlatformUtils.cpp
               c/src/xercesc/util/Platforms/OS400 OS400PlatformUtils.cpp
               c/src/xercesc/util/Platforms/QNX QNXPlatformUtils.cpp
               c/src/xercesc/util/Platforms/Solaris
                        SolarisPlatformUtils.cpp
               c/src/xercesc/util/Platforms/Tru64 Tru64PlatformUtils.cpp
               c/src/xercesc/util/Platforms/UnixWare
                        UnixWarePlatformUtils.cpp
  Log:
  Change platform mutex code to do a panic instead of throwing an exception as 
the exception code uses mutexes and this can result in infinite recursion.
  
  Revision  Changes    Path
  1.3       +7 -1      xml-xerces/c/src/xercesc/util/PanicHandler.cpp
  
  Index: PanicHandler.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/PanicHandler.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PanicHandler.cpp  8 Sep 2004 13:56:22 -0000       1.2
  +++ PanicHandler.cpp  5 Apr 2005 18:36:00 -0000       1.3
  @@ -17,6 +17,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.3  2005/04/05 18:36:00  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.2  2004/09/08 13:56:22  peiyongz
    * Apache License Version 2.0
    *
  @@ -61,6 +64,9 @@
       case Panic_SystemInit:
           reasonStr = "Cannot initialize the system or mutex";
           break;
  +    case Panic_MutexErr:
  +        reasonStr = "Cannot create, lock or unlock a mutex";
  +        break;
       default:
           reasonStr = "Unknown reason";
           break;
  
  
  
  1.9       +5 -2      xml-xerces/c/src/xercesc/util/PanicHandler.hpp
  
  Index: PanicHandler.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/PanicHandler.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PanicHandler.hpp  20 Oct 2004 15:18:35 -0000      1.8
  +++ PanicHandler.hpp  5 Apr 2005 18:36:00 -0000       1.9
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.9  2005/04/05 18:36:00  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.8  2004/10/20 15:18:35  knoaman
    * Allow option of initializing static data in XMLPlatformUtils::Initialize
    *
  @@ -89,7 +92,7 @@
           , Panic_SynchronizationErr
           , Panic_SystemInit
           , Panic_AllStaticInitErr
  -
  +        , Panic_MutexErr
           , PanicReasons_Count
       };
       //@}
  
  
  
  1.24      +6 -6      
xml-xerces/c/src/xercesc/util/Platforms/AIX/AIXPlatformUtils.cpp
  
  Index: AIXPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/AIX/AIXPlatformUtils.cpp,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- AIXPlatformUtils.cpp      8 Sep 2004 13:56:38 -0000       1.23
  +++ AIXPlatformUtils.cpp      5 Apr 2005 18:36:00 -0000       1.24
  @@ -378,7 +378,7 @@
           return;
       if (pthread_mutex_lock( (pthread_mutex_t*)mtxHandle))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   
   }
  @@ -387,7 +387,7 @@
       pthread_mutex_t* mutex = new pthread_mutex_t;
       if (mutex ==  NULL)
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_t*  attr = new pthread_mutexattr_t;
   #if defined(XML_USE_DCE)
  @@ -395,7 +395,7 @@
       pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
       if (pthread_mutex_init(mutex, *attr))
       {
  -          ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_delete(attr);
   #else
  @@ -407,7 +407,7 @@
       #endif
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
   #endif
  @@ -420,7 +420,7 @@
           return;
       if (pthread_mutex_unlock( (pthread_mutex_t*)mtxHandle))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   }
   
  
  
  
  1.15      +6 -6      
xml-xerces/c/src/xercesc/util/Platforms/BeOS/BeOSPlatformUtils.cpp
  
  Index: BeOSPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/BeOS/BeOSPlatformUtils.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- BeOSPlatformUtils.cpp     8 Sep 2004 13:56:38 -0000       1.14
  +++ BeOSPlatformUtils.cpp     5 Apr 2005 18:36:00 -0000       1.15
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.15  2005/04/05 18:36:00  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.14  2004/09/08 13:56:38  peiyongz
    * Apache License Version 2.0
    *
  @@ -477,8 +480,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE_NP);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -506,8 +508,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -519,8 +520,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.24      +6 -6      
xml-xerces/c/src/xercesc/util/Platforms/FreeBSD/FreeBSDPlatformUtils.cpp
  
  Index: FreeBSDPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/FreeBSD/FreeBSDPlatformUtils.cpp,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- FreeBSDPlatformUtils.cpp  8 Sep 2004 13:56:39 -0000       1.23
  +++ FreeBSDPlatformUtils.cpp  5 Apr 2005 18:36:00 -0000       1.24
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.24  2005/04/05 18:36:00  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.23  2004/09/08 13:56:39  peiyongz
    * Apache License Version 2.0
    *
  @@ -523,8 +526,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -552,8 +554,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -565,8 +566,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.21      +7 -8      
xml-xerces/c/src/xercesc/util/Platforms/HPUX/HPPlatformUtils.cpp
  
  Index: HPPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/HPUX/HPPlatformUtils.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- HPPlatformUtils.cpp       8 Sep 2004 13:56:39 -0000       1.20
  +++ HPPlatformUtils.cpp       5 Apr 2005 18:36:01 -0000       1.21
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.21  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.20  2004/09/08 13:56:39  peiyongz
    * Apache License Version 2.0
    *
  @@ -565,8 +568,7 @@
       pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
       if (pthread_mutex_init(mutex, *attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_delete(attr);
   #else
  @@ -574,8 +576,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
   #endif
  @@ -602,8 +603,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t *) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -614,8 +614,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t *) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.3       +6 -6      
xml-xerces/c/src/xercesc/util/Platforms/Interix/InterixPlatformUtils.cpp
  
  Index: InterixPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/Interix/InterixPlatformUtils.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InterixPlatformUtils.cpp  8 Sep 2004 13:56:40 -0000       1.2
  +++ InterixPlatformUtils.cpp  5 Apr 2005 18:36:01 -0000       1.3
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.3  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.2  2004/09/08 13:56:40  peiyongz
    * Apache License Version 2.0
    *
  @@ -428,8 +431,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -457,8 +459,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -470,8 +471,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.21      +9 -12     
xml-xerces/c/src/xercesc/util/Platforms/IRIX/IRIXPlatformUtils.cpp
  
  Index: IRIXPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/IRIX/IRIXPlatformUtils.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- IRIXPlatformUtils.cpp     8 Sep 2004 13:56:39 -0000       1.20
  +++ IRIXPlatformUtils.cpp     5 Apr 2005 18:36:01 -0000       1.21
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.21  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.20  2004/09/08 13:56:39  peiyongz
    * Apache License Version 2.0
    *
  @@ -563,8 +566,7 @@
               return (void*)sema;
           }
           else
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                      XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
       }
       else {
           // arena==0; therefore platformInit hasn't been called.
  @@ -593,8 +595,7 @@
   
       if (mtxHandle != NULL) {
           if (uspsema (mtxHandle) != 1)
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
       }
   
   }
  @@ -606,8 +607,7 @@
       {
           if (usvsema(mtxHandle) == -1)
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -650,8 +650,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -679,8 +678,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -692,8 +690,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.26      +6 -6      
xml-xerces/c/src/xercesc/util/Platforms/Linux/LinuxPlatformUtils.cpp
  
  Index: LinuxPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/Linux/LinuxPlatformUtils.cpp,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- LinuxPlatformUtils.cpp    12 Jan 2005 20:06:55 -0000      1.25
  +++ LinuxPlatformUtils.cpp    5 Apr 2005 18:36:01 -0000       1.26
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.26  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.25  2005/01/12 20:06:55  cargilld
    * Remove warning messages.
    *
  @@ -583,8 +586,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE_NP);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -612,8 +614,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -625,8 +626,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.14      +3 -6      
xml-xerces/c/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp
  
  Index: NetBSDPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- NetBSDPlatformUtils.cpp   8 Nov 2004 14:01:09 -0000       1.13
  +++ NetBSDPlatformUtils.cpp   5 Apr 2005 18:36:01 -0000       1.14
  @@ -494,8 +494,7 @@
       pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -523,8 +522,7 @@
       {
           if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  @@ -536,8 +534,7 @@
       {
           if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                     XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       }
   }
  
  
  
  1.17      +6 -6      
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.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- OpenServerPlatformUtils.cpp       8 Sep 2004 13:56:42 -0000       1.16
  +++ OpenServerPlatformUtils.cpp       5 Apr 2005 18:36:01 -0000       1.17
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.17  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.16  2004/09/08 13:56:42  peiyongz
    * Apache License Version 2.0
    *
  @@ -467,8 +470,7 @@
   
        RecursiveMutex() {
                if (pthread_mutex_init(&mutex, NULL))
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                                      XMLExcepts::Mutex_CouldNotCreate, 
XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                recursionCount = 0;
                tid = 0;
        }
  @@ -486,8 +488,7 @@
                        return;
                }
                if (pthread_mutex_lock(&mutex) != 0)
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                                      XMLExcepts::Mutex_CouldNotLock, 
XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                tid = pthread_self();
                recursionCount = 1;
        }
  @@ -497,8 +498,7 @@
                        return;
   
                if (pthread_mutex_unlock(&mutex) != 0)
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                                      XMLExcepts::Mutex_CouldNotUnlock, 
XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                tid = 0;
        }
   };
  
  
  
  1.11      +4 -4      
xml-xerces/c/src/xercesc/util/Platforms/OS2/OS2PlatformUtils.cpp
  
  Index: OS2PlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/OS2/OS2PlatformUtils.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- OS2PlatformUtils.cpp      8 Sep 2004 13:56:41 -0000       1.10
  +++ OS2PlatformUtils.cpp      5 Apr 2005 18:36:01 -0000       1.11
  @@ -262,7 +262,7 @@
   
       if (DosRequestMutexSem( (HMTX)mtxHandle,(ULONG) SEM_INDEFINITE_WAIT) )
       {
  -      ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +      panic(PanicHandler::Panic_MutexErr);
       }
   #endif
   }
  @@ -273,7 +273,7 @@
       HMTX hRet; // Mutex Handle
   
       if (DosCreateMutexSem(NULL, &hRet, 0, FALSE))
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       return (void*)hRet;
   #else
       return 0;
  @@ -288,7 +288,7 @@
   
       if (DosReleaseMutexSem( (HMTX)mtxHandle))
       {
  -      ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   #endif
   }
  
  
  
  1.20      +5 -6      
xml-xerces/c/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp
  
  Index: OS390PlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- OS390PlatformUtils.cpp    8 Sep 2004 13:56:41 -0000       1.19
  +++ OS390PlatformUtils.cpp    5 Apr 2005 18:36:01 -0000       1.20
  @@ -981,7 +981,7 @@
       if (isPosixEnabled) {
           if (pthread_mutex_lock( (pthread_mutex_t*)mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       } // __isPosixOn
       else {
  @@ -1001,7 +1001,7 @@
       pthread_mutex_t* mutex = new pthread_mutex_t;
       if (mutex == NULL)
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   
       pthread_mutexattr_t*  attr = new pthread_mutexattr_t;
  @@ -1009,8 +1009,7 @@
       pthread_mutexattr_setkind_np(attr, __MUTEX_RECURSIVE);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy(attr);
       delete attr;
  @@ -1031,7 +1030,7 @@
       if (isPosixEnabled) {
           if (pthread_mutex_unlock( (pthread_mutex_t*)mtxHandle))
           {
  -            ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, fgMemoryManager);
  +            panic(PanicHandler::Panic_MutexErr);
           }
       } // __isPosixOn
       else {
  
  
  
  1.21      +5 -5      
xml-xerces/c/src/xercesc/util/Platforms/OS400/OS400PlatformUtils.cpp
  
  Index: OS400PlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/OS400/OS400PlatformUtils.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- OS400PlatformUtils.cpp    23 Sep 2004 21:44:13 -0000      1.20
  +++ OS400PlatformUtils.cpp    5 Apr 2005 18:36:01 -0000       1.21
  @@ -562,7 +562,7 @@
   
       RecursiveMutex() {
                       if (pthread_mutex_init(&mutex, NULL))
  -                         ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, XMLPlatformUtils::fgMemoryManager);
  +                             
XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                          recursionCount = 0;
                          tid.reservedHiId = 0;
                       tid.reservedLoId = 0;
  @@ -581,7 +581,7 @@
                              return;
                          }
                          if (pthread_mutex_lock(&mutex) != 0)
  -                           ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, XMLPlatformUtils::fgMemoryManager);
  +                           
XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                          tid = pthread_self();
                          recursionCount = 1;
                      }
  @@ -592,8 +592,8 @@
                                 return;
   
                          if (pthread_mutex_unlock(&mutex) != 0)
  -                           ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, XMLPlatformUtils::fgMemoryManager);
  -                          tid.reservedHandle= 0;
  +                           
XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
  +              tid.reservedHandle= 0;
                          tid.reservedHiId = 0;
                          tid.reservedLoId = 0;
                          }
  
  
  
  1.11      +4 -4      
xml-xerces/c/src/xercesc/util/Platforms/QNX/QNXPlatformUtils.cpp
  
  Index: QNXPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/QNX/QNXPlatformUtils.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- QNXPlatformUtils.cpp      8 Sep 2004 13:56:42 -0000       1.10
  +++ QNXPlatformUtils.cpp      5 Apr 2005 18:36:01 -0000       1.11
  @@ -261,7 +261,7 @@
       pthread_mutex_t *mutex = new pthread_mutex_t;
       if( pthread_mutex_init( mutex, &attr ) != EOK ) {
           delete mutex;
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_destroy( &attr );
       return mutex;
  @@ -279,7 +279,7 @@
   void XMLPlatformUtils::lockMutex(void* const mtxHandle)
   {
       if( mtxHandle == NULL || pthread_mutex_lock( (pthread_mutex_t 
*)mtxHandle ) != EOK ) {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   }
   
  @@ -287,7 +287,7 @@
   void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
   {
       if( mtxHandle == NULL || pthread_mutex_unlock( (pthread_mutex_t 
*)mtxHandle ) != EOK ) {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
   }
   
  
  
  
  1.29      +6 -8      
xml-xerces/c/src/xercesc/util/Platforms/Solaris/SolarisPlatformUtils.cpp
  
  Index: SolarisPlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/Solaris/SolarisPlatformUtils.cpp,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- SolarisPlatformUtils.cpp  30 Sep 2004 14:01:41 -0000      1.28
  +++ SolarisPlatformUtils.cpp  5 Apr 2005 18:36:01 -0000       1.29
  @@ -437,7 +437,7 @@
   
       RecursiveMutex() {
                  if (pthread_mutex_init(&mutex, NULL))
  -                   ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, XMLPlatformUtils::fgMemoryManager);
  +                   XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                          recursionCount = 0;
                          tid = 0;
                        }
  @@ -454,7 +454,7 @@
                     return;
                 }
                 if (pthread_mutex_lock(&mutex) != 0)
  -                  ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, XMLPlatformUtils::fgMemoryManager);
  +                  XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                 tid = pthread_self();
                 recursionCount = 1;
                 }
  @@ -465,7 +465,7 @@
                                 return;
   
                 if (pthread_mutex_unlock(&mutex) != 0)
  -                  ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, XMLPlatformUtils::fgMemoryManager);
  +                  XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                             tid = 0;
                          }
      };
  @@ -477,16 +477,14 @@
       pthread_mutex_t* mutex = new pthread_mutex_t;
       if (mutex ==  NULL)
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_t attr;
       pthread_mutexattr_create(&attr);
       pthread_mutexattr_setkind_np(&attr, MUTEX_RECURSIVE_NP);
       if (pthread_mutex_init(mutex, attr))
       {
  -        ThrowXMLwithMemMgr(XMLPlatformUtilsException,
  -                 XMLExcepts::Mutex_CouldNotCreate, fgMemoryManager);
  +        panic(PanicHandler::Panic_MutexErr);
       }
       pthread_mutexattr_delete(&attr);
       return (void*)(mutex);
  
  
  
  1.19      +4 -4      
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.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Tru64PlatformUtils.cpp    8 Sep 2004 13:56:43 -0000       1.18
  +++ Tru64PlatformUtils.cpp    5 Apr 2005 18:36:01 -0000       1.19
  @@ -424,7 +424,7 @@
     RecursiveMutex()
     {
       if (pthread_mutex_init(&mutex, NULL))
  -      ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, XMLPlatformUtils::fgMemoryManager);
  +        XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
       recursionCount = 0;
       tid = 0;
     }
  @@ -443,7 +443,7 @@
         return;
       }
       if (pthread_mutex_lock(&mutex) != 0)
  -      ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, XMLPlatformUtils::fgMemoryManager);
  +        XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
       tid = pthread_self();
       recursionCount = 1;
     }
  @@ -455,7 +455,7 @@
         return;
   
       if (pthread_mutex_unlock(&mutex) != 0)
  -      ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, XMLPlatformUtils::fgMemoryManager);
  +        XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
       tid = 0;
     }
   };
  
  
  
  1.20      +6 -3      
xml-xerces/c/src/xercesc/util/Platforms/UnixWare/UnixWarePlatformUtils.cpp
  
  Index: UnixWarePlatformUtils.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Platforms/UnixWare/UnixWarePlatformUtils.cpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- UnixWarePlatformUtils.cpp 13 Jan 2005 12:36:02 -0000      1.19
  +++ UnixWarePlatformUtils.cpp 5 Apr 2005 18:36:01 -0000       1.20
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.20  2005/04/05 18:36:01  cargilld
  + * Change platform mutex code to do a panic instead of throwing an exception 
as the exception code uses mutexes and this can result in infinite recursion.
  + *
    * Revision 1.19  2005/01/13 12:36:02  amassari
    * Support for UnixWare 7.1.1 (jira# 1148)
    *
  @@ -515,7 +518,7 @@
   
       RecursiveMutex() {
                if (pthread_mutex_init(&mutex, NULL))
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotCreate, XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                recursionCount = 0;
                tid = 0;
        }
  @@ -532,7 +535,7 @@
                        return;
                }
                if (pthread_mutex_lock(&mutex) != 0)
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotLock, XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                tid = pthread_self();
                recursionCount = 1;
        }
  @@ -543,7 +546,7 @@
                        return;
   
                if (pthread_mutex_unlock(&mutex) != 0)
  -                     ThrowXMLwithMemMgr(XMLPlatformUtilsException, 
XMLExcepts::Mutex_CouldNotUnlock, XMLPlatformUtils::fgMemoryManager);
  +                     XMLPlatformUtils::panic(PanicHandler::Panic_MutexErr);
                tid = 0;
        }
   };
  
  
  

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

Reply via email to