| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- --- src/xercesc/runConfigure.dist Fri Dec 27 10:26:26 2002
- +++ src/xercesc/runConfigure Fri Dec 27 10:56:18 2002
- @@ -189,6 +189,7 @@
- linkeroptions="$linkeroptions $2"; shift 2;;
-
- -P)
- + prefix=$2
- configureoptions="$configureoptions --prefix=$2"; shift 2;;
-
- -C)
- @@ -301,8 +302,16 @@
- ;;
- esac
- elif test $platform = "freebsd"; then
- - threadingLibs="-pthread -lc_r"
- - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
- + case $thread in
- + pth)
- + threadingLibs="-L$prefix/lib -lpth -lc_r"
- + threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS -DUSE_PTH -I$prefix/include"
- + ;;
- + *)
- + threadingLibs="-pthread -lc_r"
- + threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
- + ;;
- + esac
- elif test $platform = "aix"; then
- aix_version=`./config.guess`;
- echo Found host system to be $aix_version
- --- src/xercesc/util/Platforms/FreeBSD/FreeBSDPlatformUtils.cpp.dist Tue Aug 27 09:24:36 2002
- +++ src/xercesc/util/Platforms/FreeBSD/FreeBSDPlatformUtils.cpp Fri Dec 27 10:35:29 2002
- @@ -86,8 +86,12 @@
- // ---------------------------------------------------------------------------
-
- #if !defined(APP_NO_THREADS)
- +#ifdef USE_PTH
- +#include <pth.h>
- +#else
- #include <pthread.h>
- #endif
- +#endif
-
- #ifndef _GNU_SOURCE
- #error _GNU_SOURCE is not defined in your compile settings
- @@ -584,6 +588,14 @@
-
- void* XMLPlatformUtils::makeMutex()
- {
- +#ifdef USE_PTH
- + pth_mutex_t* mutex = new pth_mutex_t;
- + if (pth_mutex_init(mutex))
- + {
- + ThrowXML(XMLPlatformUtilsException,
- + XMLExcepts::Mutex_CouldNotCreate);
- + }
- +#else
- pthread_mutex_t* mutex = new pthread_mutex_t;
- pthread_mutexattr_t* attr = new pthread_mutexattr_t;
- pthread_mutexattr_init(attr);
- @@ -595,20 +607,24 @@
- }
- pthread_mutexattr_destroy(attr);
- delete attr;
- +#endif
- return (void*)(mutex);
- -
- }
-
- void XMLPlatformUtils::closeMutex(void* const mtxHandle)
- {
- if (mtxHandle != NULL)
- {
- +#ifdef USE_PTH
- + delete (pth_mutex_t*)mtxHandle;
- +#else
- if (pthread_mutex_destroy((pthread_mutex_t*) mtxHandle))
- {
- ThrowXML(XMLPlatformUtilsException,
- XMLExcepts::Mutex_CouldNotDestroy);
- }
- delete (pthread_mutex_t*)mtxHandle;
- +#endif
- }
- }
-
- @@ -617,7 +633,11 @@
- {
- if (mtxHandle != NULL)
- {
- +#ifdef USE_PTH
- + if (pth_mutex_acquire((pth_mutex_t*) mtxHandle, FALSE, NULL))
- +#else
- if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
- +#endif
- {
- ThrowXML(XMLPlatformUtilsException,
- XMLExcepts::Mutex_CouldNotLock);
- @@ -630,7 +650,11 @@
- {
- if (mtxHandle != NULL)
- {
- +#ifdef USE_PTH
- + if (pth_mutex_release((pth_mutex_t*) mtxHandle))
- +#else
- if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
- +#endif
- {
- ThrowXML(XMLPlatformUtilsException,
- XMLExcepts::Mutex_CouldNotUnlock);
|