cURL / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH] always multi v3

From: Daniel Stenberg <daniel_at_haxx.se>
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

Received on 2013-01-07