cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: [PATCH] Better pipelining, round two

From: Dmitry Kurochkin <dmitry.kurochkin_at_gmail.com>
Date: Mon, 14 Jan 2008 13:47:43 +0300

Hi!

Here is second version of the patch. I think it fixes all mentioned
issues with previous version. Changes:

* Curl_llist_move() function added. Moves element from one list to
another with no mallocs/frees.

* Use Curl_llist_move() in Curl_checkPendPipeline(). Now
Curl_checkPendPipeline() does no mallocs/frees, and should never fail
:)

* Curl_moveHandleFromSendToRecvPipeline() function added. Uses
Curl_llist_move(). This function is used instead of remove/add pair in
multi_runsingle() function.

The last change makes patch "more dangerous" since it affects not only
pipelining. But all tests are passed, so I believe it is safe.

./runtests.pl -t 530 still fails for me. But:
1. It fails without my patch as well. So I do not think it is my fault.
2. It fails in random places. Say if it says test 1023 failed, and I
run "./runtests.pl -t1023 530" several times, it sometimes fails and
sometimes passes. Very odd to me.

I am ready to do more memory related tests if you give me advise how.

Regards,
  Dmitry

Received on 2008-01-14