version 1.12, 2007/01/11 16:21:54
|
version 1.15.2.3, 2008/06/26 12:02:52
|
|
|
| |
// ATTN: can we consolidate these someplace? | // ATTN: can we consolidate these someplace? |
| |
#if defined(PEGASUS_HAVE_PTHREADS) |
#ifdef PEGASUS_OS_ZOS |
# if defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) |
# include <sched.h> |
# define _MULTI_THREADED // Is this really necessary? |
|
# endif | # endif |
|
#if defined(PEGASUS_HAVE_PTHREADS) |
# include <pthread.h> | # include <pthread.h> |
# include <errno.h> | # include <errno.h> |
# include <sys/time.h> | # include <sys/time.h> |
|
|
# error "<Pegasus/Common/Threads.h>: not implemented" | # error "<Pegasus/Common/Threads.h>: not implemented" |
#endif | #endif |
| |
|
#if defined(PEGASUS_PLATFORM_SOLARIS_IX86_CC) || \ |
|
defined(PEGASUS_PLATFORM_SOLARIS_X86_64_CC) || \ |
|
defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) |
|
# include <string.h> |
|
# include <stdio.h> |
|
#endif |
|
|
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
//============================================================================== | //============================================================================== |
|
|
inline void Threads::yield() | inline void Threads::yield() |
{ | { |
#if defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX) || \ | #if defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX) || \ |
|
defined(PEGASUS_PLATFORM_PASE_ISERIES_IBMCXX) || \ |
defined(PEGASUS_PLATFORM_HPUX_ACC) || \ | defined(PEGASUS_PLATFORM_HPUX_ACC) || \ |
defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) || \ |
|
defined(PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX) || \ | defined(PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX) || \ |
defined(PEGASUS_OS_VMS) || \ | defined(PEGASUS_OS_VMS) || \ |
defined(PEGASUS_OS_ZOS) || \ | defined(PEGASUS_OS_ZOS) || \ |
defined(PEGASUS_OS_DARWIN) |
defined(PEGASUS_OS_DARWIN) || \ |
|
defined(PEGASUS_PLATFORM_SOLARIS_IX86_CC) || \ |
|
defined(PEGASUS_PLATFORM_SOLARIS_X86_64_CC) || \ |
|
defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) |
sched_yield(); | sched_yield(); |
#else | #else |
pthread_yield(); | pthread_yield(); |
|
|
| |
inline ThreadId Threads::id(const ThreadType& x) | inline ThreadId Threads::id(const ThreadType& x) |
{ | { |
ThreadId tid; |
ThreadId tid = { { 0 } }; |
| |
#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) | #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) |
const char* s = x.thread.__; | const char* s = x.thread.__; |