Make srvGetServiceHandle non-blocking if service port is full in all cases
This commit is contained in:
parent
553f8d2533
commit
9074688491
@ -26,10 +26,22 @@
|
||||
|
||||
#include "MyThread.h"
|
||||
#include "memory.h"
|
||||
#include <3ds/srv.h>
|
||||
|
||||
static void _thread_begin(void* arg)
|
||||
{
|
||||
MyThread *t = (MyThread *)arg;
|
||||
|
||||
// ROSALINA HACKJOB BEGIN
|
||||
// NORMAL APPS SHOULD NOT DO THIS, EVER
|
||||
u32 *tls = (u32 *)getThreadLocalStorage();
|
||||
memset(tls, 0, 0x80);
|
||||
tls[0] = 0x21545624;
|
||||
// ROSALINA HACKJOB END
|
||||
|
||||
// Rosalina specific:
|
||||
srvSetBlockingPolicy(true); // GetServiceHandle nonblocking if service port is full
|
||||
|
||||
t->ep();
|
||||
MyThread_Exit();
|
||||
}
|
||||
|
@ -89,6 +89,16 @@ void initSystem()
|
||||
ProcessPatchesMenu_PatchUnpatchFSDirectly();
|
||||
__sync_init();
|
||||
__appInit();
|
||||
|
||||
// ROSALINA HACKJOB BEGIN
|
||||
// NORMAL APPS SHOULD NOT DO THIS, EVER
|
||||
u32 *tls = (u32 *)getThreadLocalStorage();
|
||||
memset(tls, 0, 0x80);
|
||||
tls[0] = 0x21545624;
|
||||
// ROSALINA HACKJOB END
|
||||
|
||||
// Rosalina specific:
|
||||
srvSetBlockingPolicy(true); // GetServiceHandle nonblocking if service port is full
|
||||
}
|
||||
|
||||
bool terminationRequest = false;
|
||||
|
Reference in New Issue
Block a user