Lines 40-46
Link Here
|
40 |
void xcb_xlib_lock(xcb_connection_t *c) |
40 |
void xcb_xlib_lock(xcb_connection_t *c) |
41 |
{ |
41 |
{ |
42 |
_xcb_lock_io(c); |
42 |
_xcb_lock_io(c); |
43 |
assert(!c->xlib.lock); |
43 |
if (!c->xlib.sloppy_lock) |
|
|
44 |
assert(!c->xlib.lock); |
44 |
c->xlib.lock = 1; |
45 |
c->xlib.lock = 1; |
45 |
c->xlib.thread = pthread_self(); |
46 |
c->xlib.thread = pthread_self(); |
46 |
_xcb_unlock_io(c); |
47 |
_xcb_unlock_io(c); |
Lines 49-55
Link Here
|
49 |
void xcb_xlib_unlock(xcb_connection_t *c) |
50 |
void xcb_xlib_unlock(xcb_connection_t *c) |
50 |
{ |
51 |
{ |
51 |
_xcb_lock_io(c); |
52 |
_xcb_lock_io(c); |
52 |
assert(c->xlib.lock); |
53 |
if (!c->xlib.sloppy_lock) |
|
|
54 |
assert(c->xlib.lock); |
53 |
assert(pthread_equal(c->xlib.thread, pthread_self())); |
55 |
assert(pthread_equal(c->xlib.thread, pthread_self())); |
54 |
c->xlib.lock = 0; |
56 |
c->xlib.lock = 0; |
55 |
pthread_cond_broadcast(&c->xlib.cond); |
57 |
pthread_cond_broadcast(&c->xlib.cond); |