Difference between revisions of "Process Manager services"
Jump to navigation
Jump to search
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]] |
Revision as of 23:34, 18 July 2017
pm:bm
Cmd | Name |
---|---|
0 | GetMaintenanceMode? |
1 | EnableMaintenanceMode |
pm:info
Cmd | Name |
---|---|
0 | GetProcessTitleID |
pm:shell
Cmd | Name |
---|---|
0 | LaunchProcess |
1 | TerminateProcessByPid |
2 | TerminateProcessByTitleID |
3 | GetProcessEventWaiter |
4 | GetProcessEventType (0=CONTINUE, 1=CRASHING, 2,3,5) |
5 | #FinalizeDeadProcess |
6 | #ClearProcessCrashedFlag |
7 | #NotifyBootFinished |
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.