Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 --- 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 }