[Bug 30557] winegstreamer broken with >=glib-2.32.0

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Dec 5 14:21:50 CST 2015


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

--- Comment #117 from Sebastian Lackner <sebastian at fds-team.de> ---
Created attachment 53015
  --> https://bugs.winehq.org/attachment.cgi?id=53015
ntdll: Add Wine export to determine if we're on a Wine thread (v2)

I've attached an improved version of patch 1/2 which is x86_64 compatible.

While reviewing patch 2/2, I've found a couple of things which probably should
be fixed. I am aware that its a very early proof of concept version, but
decided to share my feedback nevertheless:

- If wine_get_current_teb() returns != NULL, pthread lock/condition variable
functions are executed on uninitialized memory.
- Instead of CreateThreadpoolWork, I would suggest to use
TrySubmitThreadpoolCallback(). It basically does the same in your case in a
single command, instead of three.
- "Small" functions should probably be executed directly in the dispatcher
thread, to avoid the additional overhead. Also, it probably should be used as a
fallback if creating a threadpool task fails.
- The thread handle returned by CreateThread is currently leaked. It would also
be useful to implement a mechanism to terminate the dispatcher thread when its
no longer required.
- Functions and global variables in gst_cbs.h should be marked as
DECLSPEC_HIDDEN.

-- 
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