All: Threads are now named
Jeffrey Pfau jeffrey@endrift.com
Sat, 13 Jun 2015 01:41:07 -0700
6 files changed,
19 insertions(+),
1 deletions(-)
M
src/gba/supervisor/thread.c
→
src/gba/supervisor/thread.c
@@ -110,6 +110,8 @@ struct ARMComponent* components[GBA_COMPONENT_MAX] = {0};
struct GBARRContext* movie = 0; int numComponents = GBA_COMPONENT_MAX; + ThreadSetName("CPU Thread"); + #if !defined(_WIN32) && defined(USE_PTHREADS) sigset_t signals; sigemptyset(&signals);
M
src/platform/qt/DisplayGL.cpp
→
src/platform/qt/DisplayGL.cpp
@@ -38,6 +38,7 @@ m_context = thread;
m_painter->resize(size()); m_gl->move(0, 0); m_drawThread = new QThread(this); + m_drawThread->setObjectName("Painter Thread"); m_gl->context()->doneCurrent(); m_gl->context()->moveToThread(m_drawThread); m_painter->moveToThread(m_drawThread);
M
src/platform/qt/DisplayGL.h
→
src/platform/qt/DisplayGL.h
@@ -94,7 +94,6 @@
QPainter m_painter; QStaticText m_message; QGLWidget* m_gl; - QThread* m_thread; bool m_active; QTimer m_messageTimer; GBAThread* m_context;
M
src/platform/qt/GameController.cpp
→
src/platform/qt/GameController.cpp
@@ -157,6 +157,7 @@ emit frameAvailable(m_drawContext);
}); m_rewindTimer.setInterval(100); + m_audioThread->setObjectName("Audio Thread"); m_audioThread->start(QThread::TimeCriticalPriority); m_audioProcessor->moveToThread(m_audioThread); connect(this, SIGNAL(gameStarted(GBAThread*)), m_audioProcessor, SLOT(start()));
M
src/util/threading.h
→
src/util/threading.h
@@ -75,6 +75,16 @@ static inline int ThreadJoin(Thread thread) {
return pthread_join(thread, 0); } +static inline int ThreadSetName(const char* name) { +#ifdef __APPLE__ + return pthread_setname_np(name); +#elif defined(__FreeBSD__) + return pthread_set_name_np(pthread_self(), name); +#else + return pthread_setname_np(pthread_self(), name); +#endif +} + #elif _WIN32 #define _WIN32_WINNT 0x0600 #include <windows.h>@@ -142,6 +152,10 @@ if (error == WAIT_FAILED) {
return GetLastError(); } return 0; +} + +static inline int ThreadSetName(const char* name) { + return -1; } #else #define DISABLE_THREADING