version 1.1.2.1, 2001/07/30 12:06:14
|
version 1.1.2.4, 2001/07/31 12:54:35
|
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// Author: Markus Mueller (sedgewick_de@yahoo.de) |
// Author: Mike Day (mdday@us.ibm.com) |
// | // |
// Modified By: Mike Day (mdday@us.ibm.com) |
// Modified By: |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include "Thread.h" | #include "Thread.h" |
|
#include <Pegasus/Common/IPC.h> |
| |
#if defined(PEGASUS_OS_TYPE_WINDOWS) | #if defined(PEGASUS_OS_TYPE_WINDOWS) |
# include "ThreadWindows.cpp" | # include "ThreadWindows.cpp" |
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
Boolean Thread::_signals_blocked = false; |
| |
// for non-native implementations | // for non-native implementations |
#ifndef PEGASUS_THREAD_CLEANUP_NATIVE | #ifndef PEGASUS_THREAD_CLEANUP_NATIVE |
|
|
| |
#endif | #endif |
| |
|
|
|
//thread_data *Thread::put_tsd(Sint8 *key, void (*delete_func)(void *), Uint32 size, void *value) throw(IPCException) |
|
|
|
|
|
#ifndef PEGASUS_THREAD_EXIT_NATIVE |
|
void Thread::exit_self(PEGASUS_THREAD_RETURN exit_code) |
|
{ |
|
// execute the cleanup stack and then return |
|
while( _cleanup.count(); ) |
|
{ |
|
try { cleanup_pop(true); } |
|
catch(IPCException& e) { PEGASUS_ASSERT(0) ; break; } |
|
} |
|
_exit_code = exit_code; |
|
} |
|
|
|
#endif |
|
|
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |