citra-emu
/
citra-canary
Archived
1
0
Fork 0

Kernel/Threads: Added a new thread status to identify threads waiting for an IPC reply from svcSendSyncRequest.

This commit is contained in:
Subv 2017-10-01 22:06:46 -05:00
parent 8e2d9f48f5
commit 33c5982f6d
3 changed files with 7 additions and 0 deletions

View File

@ -154,6 +154,9 @@ QString WaitTreeThread::GetText() const {
case THREADSTATUS_WAIT_SLEEP: case THREADSTATUS_WAIT_SLEEP:
status = tr("sleeping"); status = tr("sleeping");
break; break;
case THREADSTATUS_WAIT_IPC:
status = tr("waiting for IPC response");
break;
case THREADSTATUS_WAIT_SYNCH_ALL: case THREADSTATUS_WAIT_SYNCH_ALL:
case THREADSTATUS_WAIT_SYNCH_ANY: case THREADSTATUS_WAIT_SYNCH_ANY:
status = tr("waiting for objects"); status = tr("waiting for objects");
@ -182,6 +185,8 @@ QColor WaitTreeThread::GetColor() const {
return QColor(Qt::GlobalColor::darkRed); return QColor(Qt::GlobalColor::darkRed);
case THREADSTATUS_WAIT_SLEEP: case THREADSTATUS_WAIT_SLEEP:
return QColor(Qt::GlobalColor::darkYellow); return QColor(Qt::GlobalColor::darkYellow);
case THREADSTATUS_WAIT_IPC:
return QColor(Qt::GlobalColor::darkCyan);
case THREADSTATUS_WAIT_SYNCH_ALL: case THREADSTATUS_WAIT_SYNCH_ALL:
case THREADSTATUS_WAIT_SYNCH_ANY: case THREADSTATUS_WAIT_SYNCH_ANY:
return QColor(Qt::GlobalColor::red); return QColor(Qt::GlobalColor::red);

View File

@ -278,6 +278,7 @@ void Thread::ResumeFromWait() {
case THREADSTATUS_WAIT_SYNCH_ANY: case THREADSTATUS_WAIT_SYNCH_ANY:
case THREADSTATUS_WAIT_ARB: case THREADSTATUS_WAIT_ARB:
case THREADSTATUS_WAIT_SLEEP: case THREADSTATUS_WAIT_SLEEP:
case THREADSTATUS_WAIT_IPC:
break; break;
case THREADSTATUS_READY: case THREADSTATUS_READY:

View File

@ -35,6 +35,7 @@ enum ThreadStatus {
THREADSTATUS_READY, ///< Ready to run THREADSTATUS_READY, ///< Ready to run
THREADSTATUS_WAIT_ARB, ///< Waiting on an address arbiter THREADSTATUS_WAIT_ARB, ///< Waiting on an address arbiter
THREADSTATUS_WAIT_SLEEP, ///< Waiting due to a SleepThread SVC THREADSTATUS_WAIT_SLEEP, ///< Waiting due to a SleepThread SVC
THREADSTATUS_WAIT_IPC, ///< Waiting for the reply from an IPC request
THREADSTATUS_WAIT_SYNCH_ANY, ///< Waiting due to WaitSynch1 or WaitSynchN with wait_all = false THREADSTATUS_WAIT_SYNCH_ANY, ///< Waiting due to WaitSynch1 or WaitSynchN with wait_all = false
THREADSTATUS_WAIT_SYNCH_ALL, ///< Waiting due to WaitSynchronizationN with wait_all = true THREADSTATUS_WAIT_SYNCH_ALL, ///< Waiting due to WaitSynchronizationN with wait_all = true
THREADSTATUS_DORMANT, ///< Created but not yet made ready THREADSTATUS_DORMANT, ///< Created but not yet made ready