[Bug 22624] New: multithread app using GDI and directx may cause deadlock

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 8 01:08:40 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=22624

           Summary: multithread app using GDI and directx may cause
                    deadlock
           Product: Wine
           Version: 1.1.44
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: drangon.mail at gmail.com


multithread app using GDI and directx may cause deadlock

suppose thread A calling StretchDIBits() while thread B calling
DirectDrawCreateEx().

In thread A, StrentchDIBits() will first call GDI_GetObjPtr() in which enter
critical section "gdi_section", then call the X11DRV function in which enter
critical section "X11DRV_CritSection".

In thread B, DirectDrawCreateEx() will call test_pbo_functionality(), in this
function, first call ENTER_GL() which enter critical section
"X11DRV_CritSection",
then call wglFinish() ( actuall function is X11DRV_wglFinish() ), then call
ExtEscape(), then call get_dc_ptr(), in which enter critical section
"gdi_section".

Then this two thread may hold one critical section and wait for another, then
cause deadlock.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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