ksys/act: Implement BaseProc::x00000071011ba9fc

This commit is contained in:
Léo Lam 2020-08-19 21:00:50 +02:00
parent 5de91ef5fd
commit 50a8a8c5e3
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 22 additions and 0 deletions

View File

@ -89471,6 +89471,7 @@
0x00000071011ba364,ActorBase::jobInvoked,564,
0x00000071011ba598,ActorBase::updateState,1076,_ZN4ksys3act8BaseProc18processStateUpdateEh!
0x00000071011ba9cc,ActorBase::afterUpdateState,48,_ZN4ksys3act8BaseProc17afterUpdateState_Ev
0x00000071011BA9FC,_ZN4ksys3act8BaseProc17x00000071011ba9fcEv,0xBC,_ZN4ksys3act8BaseProc17x00000071011ba9fcEv
0x00000071011baab8,ActorBase::setProcStateFlag,124,
0x00000071011bab34,ActorBase::acquire,196,
0x00000071011babf8,ActorBase::release,36,

Can't render this file because it is too large.

View File

@ -408,4 +408,23 @@ void BaseProc::handleJobPriorityChangeRequest_() {
}
}
bool BaseProc::x00000071011ba9fc() {
if (BaseProcMgr::instance()->getStatus() != BaseProcMgr::Status::ProcessingUpdateStateList)
return false;
if (mFlags.isOn(Flags::_80))
return mFlags.isOn(Flags::_100);
mFlags.set(Flags::_80);
if (mFlags.isOff(Flags::Initialized) || mStateFlags.isOn(StateFlags::RequestDelete) ||
mStateFlags.isOn(StateFlags::RequestSleep) || mStateFlags.isOff(StateFlags::_a) ||
!canWakeUp_()) {
return false;
}
mFlags.set(Flags::_100);
return true;
}
} // namespace ksys::act

View File

@ -160,6 +160,7 @@ protected:
_2 = 2,
RequestSleep = 4,
RequestWakeUp = 8,
_a = _2 | RequestWakeUp,
RequestChangeCalcJobPriority = 0x10,
_20 = 0x20,
_40 = 0x40,

View File

@ -159,6 +159,7 @@ public:
void incrementPendingDeletions() { mNumPendingDeletions.increment(); }
void decrementPendingDeletions() { mNumPendingDeletions.decrement(); }
Status getStatus() const { return mStatus; }
u32 getNumJobTypes() const { return mNumJobTypes; }
private: