Magellan Linux

Annotation of /trunk/libxcb/patches/libxcb-1.0-xlib-no-assert-on-lock.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 365 - (hide annotations) (download)
Fri Sep 28 15:56:07 2007 UTC (16 years, 8 months ago) by niro
File size: 841 byte(s)
-added patch to fix issues with ica-client

1 niro 365 --- src/xcb_xlib.c.orig 2006-11-25 22:03:30.000000000 +0000
2     +++ src/xcb_xlib.c 2006-11-25 22:19:28.000000000 +0000
3     @@ -38,18 +38,20 @@
4     void xcb_xlib_lock(xcb_connection_t *c)
5     {
6     _xcb_lock_io(c);
7     - assert(!c->xlib.lock);
8     - c->xlib.lock = 1;
9     - c->xlib.thread = pthread_self();
10     + if (!c->xlib.lock) {
11     + c->xlib.lock = 1;
12     + c->xlib.thread = pthread_self();
13     + }
14     _xcb_unlock_io(c);
15     }
16    
17     void xcb_xlib_unlock(xcb_connection_t *c)
18     {
19     _xcb_lock_io(c);
20     - assert(c->xlib.lock);
21     - assert(pthread_equal(c->xlib.thread, pthread_self()));
22     - c->xlib.lock = 0;
23     - pthread_cond_broadcast(&c->xlib.cond);
24     + if (c->xlib.lock) {
25     + assert(pthread_equal(c->xlib.thread, pthread_self()));
26     + c->xlib.lock = 0;
27     + pthread_cond_broadcast(&c->xlib.cond);
28     + }
29     _xcb_unlock_io(c);
30     }