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]