summaryrefslogtreecommitdiff
path: root/src/xcb_conn.c
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2007-10-28 11:56:08 -0700
committerJamey Sharp <jamey@minilop.net>2007-10-28 11:56:08 -0700
commitf6b75d6090dc40918196d2b902e9616d0199af42 (patch)
treede771e70bcb8d0f008e7eafdad40283b3e1c192b /src/xcb_conn.c
parent4d828c5eba9fc7161c5f18650f2dbe218e1db06f (diff)
Factor pthread_cond_wait(iolock) to _xcb_wait_io.
This parallels the _xcb_lock_io and _xcb_unlock_io factoring.
Diffstat (limited to 'src/xcb_conn.c')
-rw-r--r--src/xcb_conn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xcb_conn.c b/src/xcb_conn.c
index 827a12b..9a58bff 100644
--- a/src/xcb_conn.c
+++ b/src/xcb_conn.c
@@ -288,6 +288,11 @@ void _xcb_unlock_io(xcb_connection_t *c)
pthread_mutex_unlock(&c->iolock);
}
+void _xcb_wait_io(xcb_connection_t *c, pthread_cond_t *cond)
+{
+ pthread_cond_wait(cond, &c->iolock);
+}
+
int _xcb_conn_wait(xcb_connection_t *c, pthread_cond_t *cond, struct iovec **vector, int *count)
{
int ret;
@@ -296,7 +301,7 @@ int _xcb_conn_wait(xcb_connection_t *c, pthread_cond_t *cond, struct iovec **vec
/* If the thing I should be doing is already being done, wait for it. */
if(count ? c->out.writing : c->in.reading)
{
- pthread_cond_wait(cond, &c->iolock);
+ _xcb_wait_io(c, cond);
return 1;
}