aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan-client.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2007-10-05 16:44:08 +0000
committerMarcus Brinkmann <[email protected]>2007-10-05 16:44:08 +0000
commitd0395d1de508b960fa8d7c83e404d7aacb617c9c (patch)
treef22047c0e0076ccdbb0299cc60f702c8b1861582 /src/assuan-client.c
parentMap WSANOTINITIALIZED to ENOSYS. (diff)
downloadlibassuan-d0395d1de508b960fa8d7c83e404d7aacb617c9c.tar.gz
libassuan-d0395d1de508b960fa8d7c83e404d7aacb617c9c.zip
2007-10-05 Marcus Brinkmann <[email protected]>
* assuan-defs.h (_assuan_error_is_eagain): New prototype. * mkerrors (_assuan_error_is_eagain): New function. * assuan-handler.c (process_next): Leave on EAGAIN. * assuan-handler.c (process_request), assuan-client.c (_assuan_read_from_server), assuan-buffer.c (assuan_read_line): Busy loop over EAGAIN.
Diffstat (limited to 'src/assuan-client.c')
-rw-r--r--src/assuan-client.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/assuan-client.c b/src/assuan-client.c
index 090e7fc..15f4f1c 100644
--- a/src/assuan-client.c
+++ b/src/assuan-client.c
@@ -42,7 +42,11 @@ _assuan_read_from_server (assuan_context_t ctx, int *okay, int *off)
*off = 0;
do
{
- rc = _assuan_read_line (ctx);
+ do
+ {
+ rc = _assuan_read_line (ctx);
+ }
+ while (_assuan_error_is_eagain (rc));
if (rc)
return rc;
line = ctx->inbound.line;