cURL / Mailing Lists / curl-library / Single Mail


Re: [PATCH] Better pipelining, round two

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


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.

./ -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 "./ -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.


Received on 2008-01-14