all repos — mgba @ 4469a9a05f4be9a4c46f36de66398eb61f901c6e

mGBA Game Boy Advance Emulator

All: Threads are now named
Jeffrey Pfau jeffrey@endrift.com
Sat, 13 Jun 2015 01:41:07 -0700
commit

4469a9a05f4be9a4c46f36de66398eb61f901c6e

parent

910ff621b32c461a6210aca06f94f38de95b76b3

M CHANGESCHANGES

@@ -69,6 +69,7 @@ - Qt: Add application icon and XDG desktop files

- GBA Thread: Split GBASync into a separate file - SDL: Properly check for initialization - SDL: Clean up initialization functions + - All: Threads are now named 0.2.1: (2015-05-13) Bugfixes:
M src/gba/supervisor/thread.csrc/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.cppsrc/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.hsrc/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.cppsrc/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.hsrc/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