ReactOS 0.4.16-dev-959-g2ec3a19
__vcrt_init.c File Reference
#include <internal_shared.h>
Include dependency graph for __vcrt_init.c:

Go to the source code of this file.

Functions

void msvcrt_init_exception (HINSTANCE hinstDLL)
 
BOOL msvcrt_init_tls (void)
 
void msvcrt_free_tls_mem (void)
 
BOOL msvcrt_free_tls (void)
 
__vcrt_bool __cdecl __vcrt_initialize (void)
 
__vcrt_bool __cdecl __vcrt_uninitialize (_In_ __vcrt_bool _Terminating)
 
__vcrt_bool __cdecl __vcrt_uninitialize_critical (void)
 
__vcrt_bool __cdecl __vcrt_thread_attach (void)
 
__vcrt_bool __cdecl __vcrt_thread_detach (void)
 
static VOID WINAPI wine_tls_cleanup_callback (PVOID hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 

Variables

const IMAGE_TLS_DIRECTORY__p_tls_used = &_tls_used
 

Function Documentation

◆ __vcrt_initialize()

__vcrt_bool __cdecl __vcrt_initialize ( void  )

Definition at line 18 of file __vcrt_init.c.

19{
21
22 if (!msvcrt_init_tls())
23 return FALSE;
24
25 return TRUE;
26}
void msvcrt_init_exception(HINSTANCE hinstDLL)
BOOL msvcrt_init_tls(void)
Definition: tls.c:9
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define GetModuleHandle
Definition: winbase.h:3858

◆ __vcrt_thread_attach()

__vcrt_bool __cdecl __vcrt_thread_attach ( void  )

Definition at line 41 of file __vcrt_init.c.

42{
43 // Not called by UCRT
44 return TRUE;
45}

◆ __vcrt_thread_detach()

__vcrt_bool __cdecl __vcrt_thread_detach ( void  )

Definition at line 47 of file __vcrt_init.c.

48{
49 // Not called by UCRT
50 return TRUE;
51}

◆ __vcrt_uninitialize()

__vcrt_bool __cdecl __vcrt_uninitialize ( _In_ __vcrt_bool  _Terminating)

Definition at line 28 of file __vcrt_init.c.

29{
30 if (!msvcrt_free_tls())
31 return FALSE;
32
33 return TRUE;
34}
BOOL msvcrt_free_tls(void)
Definition: tls.c:21

◆ __vcrt_uninitialize_critical()

__vcrt_bool __cdecl __vcrt_uninitialize_critical ( void  )

Definition at line 36 of file __vcrt_init.c.

37{
38 return TRUE;
39}

◆ msvcrt_free_tls()

BOOL msvcrt_free_tls ( void  )

Definition at line 21 of file tls.c.

22{
24 {
25 ERR("TlsFree() failed!\n");
26 return FALSE;
27 }
28 return TRUE;
29}
#define ERR(fmt,...)
Definition: precomp.h:57
BOOL WINAPI TlsFree(IN DWORD Index)
Definition: thread.c:1166
static DWORD msvcrt_tls_index
Definition: tls.c:7

Referenced by __vcrt_uninitialize().

◆ msvcrt_free_tls_mem()

void msvcrt_free_tls_mem ( void  )

Definition at line 53 of file tls.c.

54{
56
57 if (tls)
58 {
59 CloseHandle(tls->handle);
60 HeapFree(GetProcessHeap(),0,tls->efcvt_buffer);
61 HeapFree(GetProcessHeap(),0,tls->asctime_buffer);
62 HeapFree(GetProcessHeap(),0,tls->wasctime_buffer);
63 HeapFree(GetProcessHeap(),0,tls->strerror_buffer);
64 HeapFree(GetProcessHeap(),0,tls->wcserror_buffer);
65 HeapFree(GetProcessHeap(),0,tls->time_buffer);
66 //if(tls->have_locale) {
67 // free_locinfo(tls->locinfo);
68 // free_mbcinfo(tls->mbcinfo);
69 //}
70 }
72}
#define CloseHandle
Definition: compat.h:739
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
LPVOID WINAPI TlsGetValue(IN DWORD Index)
Definition: thread.c:1240
static DWORD tls
Definition: sock.c:229

Referenced by wine_tls_cleanup_callback().

◆ msvcrt_init_exception()

void msvcrt_init_exception ( HINSTANCE  hinstDLL)

Referenced by __vcrt_initialize().

◆ msvcrt_init_tls()

BOOL msvcrt_init_tls ( void  )

Definition at line 9 of file tls.c.

10{
12
14 {
15 ERR("TlsAlloc() failed!\n");
16 return FALSE;
17 }
18 return TRUE;
19}
DWORD WINAPI TlsAlloc(VOID)
Definition: thread.c:1100
#define TLS_OUT_OF_INDEXES
Definition: winbase.h:575

Referenced by __vcrt_initialize().

◆ wine_tls_cleanup_callback()

static VOID WINAPI wine_tls_cleanup_callback ( PVOID  hinstDLL,
DWORD  fdwReason,
LPVOID  lpvReserved 
)
static

Definition at line 61 of file __vcrt_init.c.

62{
63 // For the last thread, only DLL_PROCESS_DETACH is called
66 {
68 }
69}
void msvcrt_free_tls_mem(void)
Definition: tls.c:53
static DWORD const fdwReason
#define DLL_THREAD_DETACH
Definition: compat.h:133
#define DLL_PROCESS_DETACH
Definition: compat.h:130

Variable Documentation

◆ __p_tls_used

Definition at line 56 of file __vcrt_init.c.