[PATCH 3/5] winepulse: Add audioclient
Andrew Eikum
aeikum at codeweavers.com
Mon Nov 2 19:07:32 CST 2015
On Tue, Nov 03, 2015 at 01:32:01AM +0100, Sebastian Lackner wrote:
> I know this patch is already committed, but still...
>
> On 29.10.2015 18:04, Andrew Eikum wrote:
> > }
> > if (pulse_ml)
> > pa_mainloop_quit(pulse_ml, 0);
> > + if (pulse_thread) {
> > + WaitForSingleObject(pulse_thread, INFINITE);
>
> This can't work. You can't wait for a thread while holding the loader lock.
>
Hm, I wondered about this, and it did seem to work when I tested it.
> >
> > +static DWORD CALLBACK pulse_mainloop_thread(void *tmp) {
> > + int ret;
> > + pulse_ml = pa_mainloop_new();
>
> I might be wrong, but I see a risk here that the pulse_ml conflicts with the use in pulse_test_connect().
> Is it guaranteed that pulse_test_connect() is only called once after loading the DLL?
>
Yeah, pulse_test_connect() is called only from GetPriority, which is
only called once from mmdevapi, when it's determining which driver to
use.
Andrew
More information about the wine-devel
mailing list