19 lines
		
	
	
		
			468 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			468 B
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #include <kinc/threads/threadlocal.h>
 | ||
|  | 
 | ||
|  | void kinc_thread_local_init(kinc_thread_local_t *local) { | ||
|  | 	local->impl.slot = TlsAlloc(); | ||
|  | 	TlsSetValue(local->impl.slot, 0); | ||
|  | } | ||
|  | 
 | ||
|  | void kinc_thread_local_destroy(kinc_thread_local_t *local) { | ||
|  | 	TlsFree(local->impl.slot); | ||
|  | } | ||
|  | 
 | ||
|  | void *kinc_thread_local_get(kinc_thread_local_t *local) { | ||
|  | 	return TlsGetValue(local->impl.slot); | ||
|  | } | ||
|  | 
 | ||
|  | void kinc_thread_local_set(kinc_thread_local_t *local, void *data) { | ||
|  | 	TlsSetValue(local->impl.slot, data); | ||
|  | } |