mirror of
https://github.com/SirHumza/orbisRPC.git
synced 2026-10-06 09:00:37 +02:00
installer: internal service modules at boot (pguest pattern)
This commit is contained in:
1 parent
91bf00d5e7
commit
e44c5da290
2 files changed
+9
-2
No files matched your search
+4
-2
@@ -13,6 +13,7 @@
|
||||
#include <sys/select.h>
|
||||
#ifdef INSTALLER_PS4
|
||||
#include <orbis/Net.h>
|
||||
#include <orbis/Sysmodule.h>
|
||||
#endif
|
||||
|
||||
#define SEND_CHUNK (64u*1024u)
|
||||
@@ -23,8 +24,9 @@ int net_init(void){
|
||||
static int done = 0;
|
||||
int probe;
|
||||
if(done) return 0;
|
||||
/* Best-effort: the stack may already be up (re-init calls then fail
|
||||
* harmlessly). Ground truth is a probe socket, not return codes. */
|
||||
/* Internal NET module (Payload Guest boot pattern) + best-effort
|
||||
* stack init. Ground truth is a probe socket, not return codes. */
|
||||
(void)sceSysmoduleLoadModuleInternal(ORBIS_SYSMODULE_INTERNAL_NET);
|
||||
(void)sceNetInit();
|
||||
(void)sceNetPoolCreate("orbisrpc", 64*1024, 0);
|
||||
probe = socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
@@ -35,6 +35,11 @@ int ui_init(void){
|
||||
up.priority = ORBIS_KERNEL_PRIO_FIFO_LOWEST;
|
||||
(void)sceUserServiceInitialize(&up);
|
||||
}
|
||||
/* Internal service modules first (Payload Guest boot pattern):
|
||||
* dialogs and system calls misbehave when these aren't up. */
|
||||
if(sceSysmoduleLoadModuleInternal(ORBIS_SYSMODULE_INTERNAL_SYSTEM_SERVICE) != 0) return -1;
|
||||
if(sceSysmoduleLoadModuleInternal(ORBIS_SYSMODULE_INTERNAL_USER_SERVICE) != 0) return -1;
|
||||
if(sceSysmoduleLoadModuleInternal(ORBIS_SYSMODULE_INTERNAL_COMMON_DIALOG) != 0) return -1;
|
||||
if(sceSysmoduleLoadModule(ORBIS_SYSMODULE_MESSAGE_DIALOG) < 0) return -1;
|
||||
if(sceSysmoduleLoadModule(ORBIS_SYSMODULE_IME_DIALOG) < 0){
|
||||
sceSysmoduleUnloadModule(ORBIS_SYSMODULE_MESSAGE_DIALOG);
|
||||
|
||||
Reference in new issue
Block a user