X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88e243b29fff8074c8a8dc60a7431b6990eb35c0..8a3f08bc6f9d7d7ece178d98fe01ac3ef45e1509:/src/unix/threadpsx.cpp diff --git a/src/unix/threadpsx.cpp b/src/unix/threadpsx.cpp index b30021a122..f0a19482a0 100644 --- a/src/unix/threadpsx.cpp +++ b/src/unix/threadpsx.cpp @@ -835,7 +835,9 @@ bool wxThread::IsMain() void wxThread::Yield() { +#ifdef HAVE_SCHED_YIELD sched_yield(); +#endif } void wxThread::Sleep(unsigned long milliseconds) @@ -1258,7 +1260,8 @@ wxThreadError wxThread::Kill() #if !HAVE_THREAD_CLEANUP_FUNCTIONS ScheduleThreadForDeletion(); - OnExit(); + // don't call OnExit() here, it can only be called in the + // threads context and we're in the context of another thread DeleteThread(this); #endif // HAVE_THREAD_CLEANUP_FUNCTIONS