aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-11-21 22:37:55 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-11-21 22:37:55 +0000
commitcb04619de25c2aa03505ccedb8ad76dd39137ee5 (patch)
tree97546c3ee02ae6855a4fe2b7ccff2741622738d6 /lib
parent61e2e86aef36de0b149fbcbc9e65bac08ff8bcfc (diff)
Make the do_complete() function not get called until the DO actually is
compelete, which bascially means when used with the multi interface
Diffstat (limited to 'lib')
-rw-r--r--lib/url.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index 7fee3daff..0415d519b 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -4575,8 +4575,8 @@ CURLcode Curl_do(struct connectdata **connp, bool *done)
}
}
- if(result == CURLE_OK)
- /* pre readwrite must be called after the protocol-specific DO function */
+ if((result == CURLE_OK) && *done)
+ /* do_complete must be called after the protocol-specific DO function */
do_complete(conn);
}
return result;
@@ -4589,6 +4589,10 @@ CURLcode Curl_do_more(struct connectdata *conn)
if(conn->handler->do_more)
result = conn->handler->do_more(conn);
+ if(result == CURLE_OK)
+ /* do_complete must be called after the protocol-specific DO function */
+ do_complete(conn);
+
return result;
}