Process Manager services: Difference between revisions
No edit summary |
|||
Line 32: | Line 32: | ||
| 4 || GetProcessEventType (0=CONTINUE, 1=CRASHING, 2,3,5) | | 4 || GetProcessEventType (0=CONTINUE, 1=CRASHING, 2,3,5) | ||
|- | |- | ||
| 5 || | | 5 || [[#FinalizeDeadProcess]] | ||
|- | |- | ||
| 6 || | | 6 || [[#ClearProcessCrashedFlag]] | ||
|- | |- | ||
| 7 || NotifyBootFinished | | 7 || [[#NotifyBootFinished]] | ||
|- | |- | ||
| 8 || GetCrashingProcessPid | | 8 || [[#GetCrashingProcessPid]] | ||
|} | |} | ||
== FinalizeDeadProcess == | |||
Takes a pid as input. If the process with pid has the state "dead", it unregisters the pid in fsp:pr, sm:m, and ldr:pm. | |||
Then it removes the process from PMs internal linked-list of active processes. | |||
== ClearProcessCrashedFlag == | |||
Takes a pid as input. Clears 0x10 from process flags. | |||
== NotifyBootFinished == | |||
Launches a process with hardcoded [[boot2]] title-id. | |||
== GetCrashingProcessPid == | |||
Loops through the internal linked-list of processes, looks for mask 0x40 set in process flags. Returns pid of first such entry. | |||
[[Category:Services]] | [[Category:Services]] |