3DS: Schedule threads on the default core
[pcsx_rearmed.git] / frontend / 3ds / pthread.h
index 56d9085..42de161 100644 (file)
@@ -2,18 +2,18 @@
 #ifndef _3DS_PTHREAD_WRAP__
 #define _3DS_PTHREAD_WRAP__
 
-#include "3ds.h"
-#include "stdlib.h"
-#include "string.h"
-#include "stdio.h"
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
 
+#include "3ds_utils.h"
 
 #define CTR_PTHREAD_STACK_SIZE 0x10000
 
 typedef struct
 {
-   Handle handle;
-   u32* stack;
+   int32_t handle;
+   uint32_t* stack;
 }pthread_t;
 typedef int pthread_attr_t;
 
@@ -23,9 +23,9 @@ static inline int pthread_create(pthread_t *thread,
 
    thread->stack =  linearMemAlign(CTR_PTHREAD_STACK_SIZE, 8);
 
-   svcCreateThread(&thread->handle, (ThreadFunc)start_routine,arg,
-                   (u32*)((u32)thread->stack + CTR_PTHREAD_STACK_SIZE),
-                   0x25, 1);
+   svcCreateThread(&thread->handle, start_routine, arg,
+                   (uint32_t*)((uint32_t)thread->stack + CTR_PTHREAD_STACK_SIZE),
+                   0x25, -2);
 
    return 1;
 }