[Mingw-w64-public] Fwd: [patch] Reimplement GNU threads library on native Windows
Jacek Caban
jacek@codeweavers.com
Tue Jul 2 10:15:00 GMT 2019
On 02/07/2019 12:12, Jacek Caban wrote:
> On 02/07/2019 11:57, Liu Hao wrote:
>
>> å¨ 2019/7/2 ä¸å5:19, Eric Botcazou åé:
>>>> It seems inappropriate to use handles as thread identifiers (as
>>>> handles
>>>> imply resource ownership and are not unique identifiers); thread
>>>> IDs (as
>>>> `DWORD` or `unsigned long`) would be a better alternative.
>>> This was considered but ultimately rejected, as you can do nothing
>>> with a
>>> thread Id, i.e. you need a handle for everything. But the
>>> __gthread_equal
>>> routine does compare the Ids and not the handles.
>>>
>> The `OpenThread()` function can obtain a handle by thread ID. It returns
>> a real handle that has to be closed when it is out of use. Using the
>> pseudo handle returned by `GetCurrentThread()` may be more efficient if
>> the target thread ID is equal to `GetCurrentThreadId()`.
>
>
> The problem with thread id is that it's not valid nor guaranteed to be
> identical after the thread is terminated. A handle needs to be used
> for that.
I meant unique, not identical.
Jacek
More information about the Gcc-patches
mailing list