11#include "wut_newlib.h"
2+ #include "wut_thread_specific.h"
23#include <stdlib.h>
34
45#include <coreinit/thread.h>
56
6- #define __WUT_CONTEXT_THREAD_SPECIFIC_ID OS_THREAD_SPECIFIC_WUT_RESERVED_1
7+ #define __WUT_CONTEXT_THREAD_SPECIFIC_ID WUT_THREAD_SPECIFIC_1
78
89struct __wut_thread_context
910{
@@ -17,7 +18,7 @@ __wut_thread_cleanup(OSThread *thread,
1718{
1819 struct __wut_thread_context * context ;
1920
20- context = (struct __wut_thread_context * )OSGetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID );
21+ context = (struct __wut_thread_context * ) wut_get_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID );
2122 if (!context || & context -> reent == _GLOBAL_REENT ) {
2223 abort ();
2324 }
@@ -29,33 +30,33 @@ __wut_thread_cleanup(OSThread *thread,
2930 _reclaim_reent (& context -> reent );
3031
3132 // Use global reent during free since the current reent is getting freed
32- OSSetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , _GLOBAL_REENT );
33+ wut_set_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , _GLOBAL_REENT );
3334
3435 free (context );
3536
36- OSSetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , NULL );
37+ wut_set_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , NULL );
3738}
3839
3940struct _reent *
4041__wut_getreent (void )
4142{
4243 struct __wut_thread_context * context ;
4344
44- context = (struct __wut_thread_context * )OSGetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID );
45+ context = (struct __wut_thread_context * ) wut_get_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID );
4546 if (!context ) {
4647 // Temporarily use global reent during context allocation
47- OSSetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , _GLOBAL_REENT );
48+ wut_set_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , _GLOBAL_REENT );
4849
4950 context = (struct __wut_thread_context * )malloc (sizeof (* context ));
5051 if (!context ) {
51- OSSetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , NULL );
52+ wut_set_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , NULL );
5253 return NULL ;
5354 }
5455
5556 _REENT_INIT_PTR (& context -> reent );
5657 context -> savedCleanup = OSSetThreadCleanupCallback (OSGetCurrentThread (), & __wut_thread_cleanup );
5758
58- OSSetThreadSpecific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , context );
59+ wut_set_thread_specific (__WUT_CONTEXT_THREAD_SPECIFIC_ID , context );
5960 }
6061
6162 return & context -> reent ;
0 commit comments