[Bug 50292] Process-local synchronization objects use private interfaces into the Unix library

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jan 28 05:20:30 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=50292

Jacek Caban <jacek at codeweavers.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jacek at codeweavers.com

--- Comment #9 from Jacek Caban <jacek at codeweavers.com> ---
I took a look at the series and have some suggestions. It would be good to make
NtAlertThreadByThreadId lock-free, but I'd suggest to try to do that in a
spirit similar to fd cache. Looking at pid/tid allocation strattegy in server,
we'd rarely need more than one cache array allocation for entire process.

It should be possible to do tid->TEB mapping this way. Another possible way
would be to simply map to a thread-specific int value. That value could be then
used directly as a futex or HANDLE storage (and maybe some special value to be
able to distinguish between non-waiting and non-existing tid, if needed).

For PE side of things, I wonder if you really need so complicated wait entry
allocation. Could we just store wait entry on waiting thread's stack?

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list