mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-09 22:56:35 +00:00
loader: adjust thread priority for applet-hbl
This commit is contained in:
parent
48b4dd48a4
commit
85505db9b7
1 changed files with 11 additions and 0 deletions
|
@ -198,6 +198,8 @@ namespace ams::ldr {
|
||||||
if (status.IsHbl()) {
|
if (status.IsHbl()) {
|
||||||
if (R_SUCCEEDED(fs::OpenFile(std::addressof(file), SdOrBaseMetaPath, fs::OpenMode_Read))) {
|
if (R_SUCCEEDED(fs::OpenFile(std::addressof(file), SdOrBaseMetaPath, fs::OpenMode_Read))) {
|
||||||
ON_SCOPE_EXIT { fs::CloseFile(file); };
|
ON_SCOPE_EXIT { fs::CloseFile(file); };
|
||||||
|
|
||||||
|
|
||||||
if (R_SUCCEEDED(LoadMetaFromFile(file, &g_original_meta_cache))) {
|
if (R_SUCCEEDED(LoadMetaFromFile(file, &g_original_meta_cache))) {
|
||||||
Meta *o_meta = &g_original_meta_cache.meta;
|
Meta *o_meta = &g_original_meta_cache.meta;
|
||||||
|
|
||||||
|
@ -212,6 +214,15 @@ namespace ams::ldr {
|
||||||
caps::SetProgramInfoFlags(program_info_flags, meta->aci_kac, meta->aci->kac_size);
|
caps::SetProgramInfoFlags(program_info_flags, meta->aci_kac, meta->aci->kac_size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* When hbl is applet, adjust main thread priority. */
|
||||||
|
if ((caps::GetProgramInfoFlags(meta->aci_kac, meta->aci->kac_size) & ProgramInfoFlag_ApplicationTypeMask) == ProgramInfoFlag_Applet) {
|
||||||
|
constexpr auto HblMainThreadPriorityApplication = 44;
|
||||||
|
constexpr auto HblMainThreadPriorityApplet = 40;
|
||||||
|
if (meta->npdm->main_thread_priority == HblMainThreadPriorityApplication) {
|
||||||
|
meta->npdm->main_thread_priority = HblMainThreadPriorityApplet;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (hos::GetVersion() >= hos::Version_10_0_0) {
|
} else if (hos::GetVersion() >= hos::Version_10_0_0) {
|
||||||
/* If storage id is none, there is no base code filesystem, and thus it is impossible for us to validate. */
|
/* If storage id is none, there is no base code filesystem, and thus it is impossible for us to validate. */
|
||||||
/* However, if we're an application, we are guaranteed a base code filesystem. */
|
/* However, if we're an application, we are guaranteed a base code filesystem. */
|
||||||
|
|
Loading…
Reference in a new issue