curl-library
[PATCH] always multi v3
Date: Mon, 7 Jan 2013 19:43:44 +0100 (CET)
Hello friends,
Here's the latest incarnation of the "always multi" patch (freshly rebased on
HEAD right now: commit curl-7_28_1-141-g905d0be). Recap: It converts
everything to assume and work with the multi (non-blocking) interface
internally and curl_easy_perform is converted to be a wrapper-function that
itself uses the multi API.
This 88K patch is ready for review and all comments and questions you may have
as I intend to merge this into master soon. I'll include the diffstat below
for reference.
I've run all tests successfully, both with and without valgrind - trying both
has turned out to be important since I've found several timing-related multi
interface bugs (mostly with FTP) and the slower valgrind execution has helped
to trigger a few of them.
Diffstat for always-multi-v3.diff:
docs/TODO | 14 +---
lib/Makefile.inc | 2 +-
lib/conncache.c | 7 +-
lib/conncache.h | 10 +--
lib/connect.c | 42 ++++++++++--
lib/easy.c | 161 ++++++++++++-------------------------------
lib/ftp.c | 170 ++++++++++++++++++++++++----------------------
lib/http.c | 34 +++-------
lib/http_proxy.c | 33 ++++-----
lib/imap.c | 45 ++-----------
lib/multi.c | 176 +++++++-----------------------------------------
lib/multihandle.h | 134 ++++++++++++++++++++++++++++++++++++
lib/openldap.c | 24 ++-----
lib/pop3.c | 17 +----
lib/smtp.c | 41 ++---------
lib/ssh.c | 28 ++------
lib/ssluse.c | 12 +---
lib/tftp.c | 132 +-----------------------------------
lib/transfer.c | 4 +-
lib/url.c | 98 ++-------------------------
lib/urldata.h | 19 +++---
tests/Makefile.am | 5 +-
tests/data/test1208 | 8 ++-
tests/data/test1349 | 3 +-
tests/data/test1350 | 3 +-
tests/data/test1351 | 3 +-
tests/data/test1352 | 3 +-
tests/data/test1353 | 3 +-
tests/data/test1354 | 1 -
tests/data/test1357 | 1 -
tests/data/test1358 | 1 -
tests/data/test1359 | 1 -
tests/data/test1360 | 1 -
tests/data/test1361 | 1 -
tests/data/test1362 | 1 -
tests/data/test1379 | 1 -
tests/data/test1380 | 1 -
tests/data/test1381 | 1 -
tests/data/test1382 | 1 -
tests/data/test1383 | 1 -
tests/data/test1384 | 1 -
tests/data/test1387 | 1 -
tests/data/test1388 | 1 -
tests/data/test1389 | 1 -
tests/data/test1390 | 1 -
tests/data/test1391 | 1 -
tests/data/test1392 | 1 -
tests/data/test1407 | 2 +-
tests/data/test506 | 74 ++++++++++----------
tests/data/test808 | 3 +-
tests/data/test813 | 4 +-
tests/libtest/lib537.c | 4 +-
tests/runtests.pl | 3 +-
tests/valgrind.supp | 16 +++++
54 files changed, 484 insertions(+), 872 deletions(-)
-- / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
- TEXT/X-DIFF attachment: always-multi-v3.diff