PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2860

*** shadow/2860 Fri Jul 27 12:02:58 2001
--- shadow/2860.tmp.1870        Fri Jul 27 12:02:58 2001
***************
*** 0 ****
--- 1,54 ----
+ +============================================================================+
+ | Build for TRU64 fails with -DAPP_NO_THREADS [possibly ANY time]            |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 2860                        Product: Xerces-C++              |
+ |       Status: NEW                         Version: 1.5.1                   |
+ |   Resolution:                            Platform: Other                   |
+ |     Severity: Normal                   OS/Version: Other                   |
+ |     Priority: Other                     Component: Build                   |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: [EMAIL PROTECTED]                                  |
+ |  Reported By: [EMAIL PROTECTED]                                           |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ On the tru64 platform, building with no threads causes the file 
+ Tru64PlatformUtils.cpp to not build properly. In addition, dup() seems to be
+ declared in <unistd.h> on my system so the compile failed here, too. 
+ Here are my system specs: 
+ uname -a returns: OSF1 tru64ux1 V4.0 1091 alpha
+ 
+ Here's what I did to fix the problem(s):
+ 1) I added #include <unistd.h>
+ 2) I changed a little of the XMLPlatformUtils::platformInit() code [as well as
+    a static member variable]. Here's a listing:
+ 
+ // ---------------------------------------------------------------------------
+ //  XMLPlatformUtils: Platform init method
+ // ---------------------------------------------------------------------------
+ #if !defined(APP_NO_THREADS)
+ static pthread_mutex_t* gAtomicOpMutex =0 ;
+ 
+ void XMLPlatformUtils::platformInit()
+ {
+   //
+   // The gAtomicOpMutex mutex needs to be created 
+   // because compareAndSwap and incrementlocation and decrementlocation 
+   // does not have the atomic system calls for usage
+   // Normally, mutexes are created on first use, but there is a
+   // circular dependency between compareAndExchange() and
+   // mutex creation that must be broken.
+ 
+   gAtomicOpMutex = new pthread_mutex_t;       
+ 
+   if (pthread_mutex_init(gAtomicOpMutex, NULL))
+     panic( XMLPlatformUtils::Panic_SystemInit );
+ }
+ #else
+ void XMLPlatformUtils::platformInit()
+ {
+    // do nothing
+ } 
+ #endif

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

Reply via email to