Difference between pages "r7.1.1:Typedef lfds711 pal uint t" and "r7.1.1:Typedef libshared pal thread handle t"
(Difference between pages)
Jump to navigation
Jump to search
m (1 revision imported) |
m (1 revision imported) |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:typedef libshared_pal_thread_handle_t}} | ||
==Source File== | ==Source File== | ||
└───test_and_benchmark | |||
└───inc | └───libshared | ||
└───inc | |||
└───libshared | |||
libshared_porting_abstraction_layer_compiler.h | |||
==Typedef== | ==Typedef== | ||
typedef [type] | typedef [type] test_pal_thread_handle_t; | ||
==Optionality== | ==Optionality== | ||
This typedef is mandatory. | This typedef is mandatory. | ||
==Example== | |||
typedef HANDLE test_pal_thread_state_t; | |||
==Notes== | ==Notes== | ||
Threads typically have associated with them both an ID and a handle. | |||
This typedef is for the handle - i.e. the datum which the OS can wait on for thread termination. | |||
If we look at the Windows CreateThread function; | |||
HANDLE WINAPI CreateThread( _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, | |||
_In_ SIZE_T dwStackSize, | |||
_In_ LPTHREAD_START_ROUTINE lpStartAddress, | |||
_In_opt_ LPVOID lpParameter, | |||
_In_ DWORD dwCreationFlags, | |||
_Out_opt_ LPDWORD lpThreadId ); | |||
We see there is an argument, ''lpThreadId '', which receives the thread ID, but that the function returns a ''HANDLE'', which is the datum used by ''WaitForSingleObject'' to sleep until the thread has terminated. | |||
==See Also== | ==See Also== | ||
* [[r7.1.1:Porting Guide ( | * [[r7.1.1:Porting Guide (libshared)|Porting Guide (libshared)]] |
Latest revision as of 20:16, 17 February 2017
Source File
└───test_and_benchmark └───libshared └───inc └───libshared libshared_porting_abstraction_layer_compiler.h
Typedef
typedef [type] test_pal_thread_handle_t;
Optionality
This typedef is mandatory.
Example
typedef HANDLE test_pal_thread_state_t;
Notes
Threads typically have associated with them both an ID and a handle.
This typedef is for the handle - i.e. the datum which the OS can wait on for thread termination.
If we look at the Windows CreateThread function;
HANDLE WINAPI CreateThread( _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_ SIZE_T dwStackSize, _In_ LPTHREAD_START_ROUTINE lpStartAddress, _In_opt_ LPVOID lpParameter, _In_ DWORD dwCreationFlags, _Out_opt_ LPDWORD lpThreadId );
We see there is an argument, lpThreadId , which receives the thread ID, but that the function returns a HANDLE, which is the datum used by WaitForSingleObject to sleep until the thread has terminated.