[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