Author: branden
Date: 2003-06-26 10:17:12 -0500 (Thu, 26 Jun 2003)
New Revision: 247

Added:
   branches/4.3.0/sid/debian/patches/064_fix_Xinput_deadlock.diff
Modified:
   branches/4.3.0/sid/debian/changelog
Log:
debian/patches/064_fix_Xinput_deadlock.diff: fix deadlock problems in
  Xi (XINPUT) library when threads enabled (Closes: #191463)


Modified: branches/4.3.0/sid/debian/changelog
==============================================================================
--- branches/4.3.0/sid/debian/changelog 2003-06-26 13:01:24 UTC (rev 246)
+++ branches/4.3.0/sid/debian/changelog 2003-06-26 15:17:12 UTC (rev 247)
@@ -47,11 +47,14 @@
     - new 'Option "ForceInit"' for forcing full initilization of consoles
       (Closes: #117454, #129216)
 
+  * eliminate TEXTREL section from libGL, making it PIC-compliant:
+    - patch #062: new (Closes: #190323)
+
   * fix weak deps (many on X11/Xext in xlibs):
     - patch #063: new (Closes: #187374)
 
-  * eliminate TEXTREL section from libGL, making it PIC-compliant:
-    - patch #062: new (Closes: #190323)
+  * fix deadlock problems in Xi (XINPUT) library when threads enabled
+    - patch #064: new (Closes: #191463)
 
   * xlibs-pic package renamed to xlibs-static-pic
     - reintegrate piclib_support.diff (previously patch #046, now patch #909)
@@ -75,7 +78,7 @@
   * debian/xlibosmesa4-dbg.install: install the unstripped library in
     /usr/X11R6/lib/debug, not /usr/X11R6/lib
 
- -- Branden Robinson <[EMAIL PROTECTED]>  Sat, 14 Jun 2003 05:38:31 -0500
+ -- Branden Robinson <[EMAIL PROTECTED]>  Thu, 26 Jun 2003 10:14:27 -0500
 
 xfree86 (4.2.1-8) unstable; urgency=high
 

Added: branches/4.3.0/sid/debian/patches/064_fix_Xinput_deadlock.diff
==============================================================================
--- branches/4.3.0/sid/debian/patches/064_fix_Xinput_deadlock.diff      2003-06-26 
13:01:24 UTC (rev 246)
+++ branches/4.3.0/sid/debian/patches/064_fix_Xinput_deadlock.diff      2003-06-26 
15:17:12 UTC (rev 247)
@@ -0,0 +1,87 @@
+This patch by Bastien Nocera, reviewed by Owen Taylor.
+
+See <http://bugs.xfree86.org/cgi-bin/bugzilla/show_bug.cgi?id=260>.
+
+Hasn't appeared in XFree86 CVS as of 2003-06-26.
+
+diff -urN XFree86-4.3.0.old/xc/lib/Xi/XExtInt.c XFree86-4.3.0/xc/lib/Xi/XExtInt.c
+--- XFree86-4.3.0.old/xc/lib/Xi/XExtInt.c      2002-10-16 01:37:28.000000000 +0100
++++ XFree86-4.3.0/xc/lib/Xi/XExtInt.c  2003-06-24 00:09:49.000000000 +0100
+@@ -196,7 +196,7 @@
+           return (-1);
+           }
+       ((XInputData *) info->data)->vers =
+-          XGetExtensionVersion (dpy, "XInputExtension");
++          _XiGetExtensionVersion (dpy, "XInputExtension");
+       }
+ 
+     if (versions[version_index].major_version > Dont_Check)
+diff -urN XFree86-4.3.0.old/xc/lib/Xi/XGetVers.c XFree86-4.3.0/xc/lib/Xi/XGetVers.c
+--- XFree86-4.3.0.old/xc/lib/Xi/XGetVers.c     2002-10-16 01:37:29.000000000 +0100
++++ XFree86-4.3.0/xc/lib/Xi/XGetVers.c 2003-06-24 18:25:10.000000000 +0100
+@@ -71,12 +71,31 @@
+     char              *name;
+ #endif
+     {       
++    XExtensionVersion         *ext;
++
++    LockDisplay (dpy);
++    ext = _XiGetExtensionVersion (dpy, name);
++    UnlockDisplay (dpy);
++    SyncHandle();
++    return (ext);
++    }
++
++XExtensionVersion
++#if NeedFunctionPrototypes
++*_XiGetExtensionVersion (
++    register Display  *dpy,
++    _Xconst char      *name)
++#else
++*_XiGetExtensionVersion (dpy, name)
++    register Display  *dpy;
++    char              *name;
++#endif
++    {       
+     xGetExtensionVersionReq   *req;
+     xGetExtensionVersionReply         rep;
+     XExtensionVersion         *ext;
+     XExtDisplayInfo *info = XInput_find_display (dpy);
+ 
+-    LockDisplay (dpy);
+     if (_XiCheckExtInit(dpy, Dont_Check) == -1)
+       return ((XExtensionVersion *) NoSuchExtension);
+ 
+@@ -89,8 +108,6 @@
+ 
+     if (! _XReply (dpy, (xReply *) &rep, 0, xTrue)) 
+       {
+-      UnlockDisplay(dpy);
+-      SyncHandle();
+       return (XExtensionVersion *) NULL;
+       }
+     ext = (XExtensionVersion *) Xmalloc (sizeof (XExtensionVersion));
+@@ -103,8 +120,6 @@
+           ext->minor_version = rep.minor_version;
+           }
+       }
+-    UnlockDisplay(dpy);
+-    SyncHandle();
+     return (ext);
+     }
+ 
+diff -urN XFree86-4.3.0.old/xc/lib/Xi/XIint.h XFree86-4.3.0/xc/lib/Xi/XIint.h
+--- XFree86-4.3.0.old/xc/lib/Xi/XIint.h        2001-08-01 01:44:39.000000000 +0100
++++ XFree86-4.3.0/xc/lib/Xi/XIint.h    2003-06-24 00:09:49.000000000 +0100
+@@ -21,4 +21,11 @@
+ #endif
+ );
+ 
++extern XExtensionVersion * _XiGetExtensionVersion(
++#if NeedFunctionPrototypes
++      Display*,
++      _Xconst char*
++#endif
++);
++
+ #endif


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to