summaryrefslogtreecommitdiff
path: root/psycopg/connection_int.c
diff options
context:
space:
mode:
Diffstat (limited to 'psycopg/connection_int.c')
-rw-r--r--psycopg/connection_int.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/psycopg/connection_int.c b/psycopg/connection_int.c
index da8a4644..d0775ecc 100644
--- a/psycopg/connection_int.c
+++ b/psycopg/connection_int.c
@@ -904,8 +904,14 @@ _conn_poll_advance_read(connectionObject *self)
Dprintf("conn_poll: poll reading");
+ Py_BEGIN_ALLOW_THREADS;
+ pthread_mutex_lock(&(self->lock));
+
busy = pq_get_result_async(self);
+ pthread_mutex_unlock(&(self->lock));
+ Py_END_ALLOW_THREADS;
+
switch (busy) {
case 0: /* result is ready */
Dprintf("conn_poll: async_status -> ASYNC_DONE");