mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
compiler opt defeating
This commit is contained in:
parent
8504825116
commit
c811ae5865
@ -132,8 +132,8 @@ do_lock() {
|
||||
|
||||
// Go to sleep on the condition variable until it's unlocked.
|
||||
|
||||
if (thread_cat.is_spam()) {
|
||||
thread_cat.spam()
|
||||
if (thread_cat.is_debug()) {
|
||||
thread_cat.debug()
|
||||
<< *this_thread << " blocking on " << *this << " (held by "
|
||||
<< *_locking_thread << ")\n";
|
||||
}
|
||||
@ -141,8 +141,8 @@ do_lock() {
|
||||
_cvar_impl.wait();
|
||||
}
|
||||
|
||||
if (thread_cat.is_spam()) {
|
||||
thread_cat.spam()
|
||||
if (thread_cat.is_debug()) {
|
||||
thread_cat.debug()
|
||||
<< *this_thread << " awake on " << *this << "\n";
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,13 @@ setup_context_2(ThreadSimpleImpl *self) {
|
||||
// Here we are executing within the thread.
|
||||
v_self->setup_context_3();
|
||||
|
||||
// We shouldn't get here.
|
||||
abort();
|
||||
|
||||
// Even though this line should never be executed, setting it here
|
||||
// seems to help the compiler figure out not to optimize away
|
||||
// v_self.
|
||||
*v_self = 0;
|
||||
return v_self;
|
||||
}
|
||||
|
||||
|
@ -182,9 +182,8 @@ next_context() {
|
||||
// Mark the current thread's resume point.
|
||||
|
||||
#ifdef HAVE_PYTHON
|
||||
// Query the current Python thread state.
|
||||
// Save the current Python thread state.
|
||||
_current_thread->_python_state = PyThreadState_Swap(NULL);
|
||||
PyThreadState_Swap(_current_thread->_python_state);
|
||||
#endif // HAVE_PYTHON
|
||||
|
||||
#ifdef HAVE_UCONTEXT_H
|
||||
@ -280,9 +279,18 @@ next_context() {
|
||||
_current_thread->_start_time = now;
|
||||
|
||||
// All right, the thread is ready to roll. Begin.
|
||||
if (thread_cat.is_spam()) {
|
||||
thread_cat.spam()
|
||||
<< "Switching to " << *_current_thread->_parent_obj << "\n";
|
||||
if (thread_cat.is_debug()) {
|
||||
size_t blocked_count = 0;
|
||||
Blocked::const_iterator bi;
|
||||
for (bi = _blocked.begin(); bi != _blocked.end(); ++bi) {
|
||||
const FifoThreads &threads = (*bi).second;
|
||||
blocked_count += threads.size();
|
||||
}
|
||||
|
||||
thread_cat.debug()
|
||||
<< "Switching to " << *_current_thread->_parent_obj
|
||||
<< " (" << _ready.size() << " other threads ready, " << blocked_count
|
||||
<< " blocked, " << _sleeping.size() << " sleeping)\n";
|
||||
}
|
||||
|
||||
#ifdef HAVE_UCONTEXT_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user