[Bug 1976] libXRandR has deadlock problems with threads enabled

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Dec 3 10:11:48 PST 2004


Please do not reply to this email: if you want to comment on the bug, go to          
the URL shown below and enter yourcomments there.   
 
https://bugs.freedesktop.org/show_bug.cgi?id=1976        
   

daniel at freedesktop.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jim.gettys at hp.com,
                   |                            |keithp at keithp.com
             Status|REOPENED                    |ASSIGNED




------- Additional Comments From daniel at freedesktop.org  2004-12-03 10:11 -------
The problem here is that XextAddDisplay and friends are *totally* not
threadsafe, so we can't call them with the lock held.  The really quick and
nasty hack:
XRRScreenConfiguration *XRRGetScreenInfo (Display *dpy, Window window)
{
  XRRScreenConfiguration *config;
  XRRFindDisplay(dpy);
  LockDisplay (dpy);
  config = _XRRGetScreenInfo(dpy, window);
  UnlockDisplay (dpy);
  SyncHandle ();
  return config;
}

(note the new XRRFindDisplay call, so AddDisplay gets called without the lock
being held, if needed.)

I suspect the better long-term solution would be to do like
Xrender/Xcomposite/et al, and re-implement these functions ourselves; Keith,
Jim, input?        
   
   
--         
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email       
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list