[PATCH] ole32: Release marshal data before removing apartment from list.

Huw Davies huw at codeweavers.com
Mon Sep 17 03:53:07 CDT 2018


On Thu, Sep 13, 2018 at 12:12:09PM -0500, Sergio Gómez Del Real wrote:
> I'm not sure how to add a test case here:
> 
> The issue is in apartment_release(), but specifically when the count drops
> to 0 so that apartment gets destroyed. This function doesn't have a means to
> communicate errors when releasing resources fail while destroying apartment;
> it just returns a DWORD with the reference count.
> 
> As far as I can tell, there isn't any call to apartment_release() that
> relies on the DWORD returned; we could return a special value here upon
> failure releasing any resource, although I don't think that would be useful
> in general (it would only be useful to the test case).

Yeah, ok.  However you can't hold the apt list crit section while
calling CoReleaseMarshalData() as that may have to call out to other
apts.

Huw.



More information about the wine-devel mailing list