X-Git-Url: http://git.sven.stormbind.net/?a=blobdiff_plain;f=tests%2Fmulti%2Fdouble.tcl;fp=tests%2Fmulti%2Fdouble.tcl;h=614782fa0cfd5d8ce50e402b1656956484a89e8f;hb=b0e6fb6e4379fb87fa2854b84a56c5ad49c644da;hp=0000000000000000000000000000000000000000;hpb=c9a5bcd9d76f699909b24e71a2a216d36062ab0b;p=sven%2Ftclcurl.git diff --git a/tests/multi/double.tcl b/tests/multi/double.tcl new file mode 100755 index 0000000..614782f --- /dev/null +++ b/tests/multi/double.tcl @@ -0,0 +1,57 @@ +package require TclCurl + + +proc Perform {multiHandle} { + if {[catch {$multiHandle active} activeTransfers]} { + puts "Error checking active transfers: $activeTransfers" + return -1 + } + if {[catch {$multiHandle perform} running]} { + puts "Error: $running" + return 1 + } + return $running +} + +proc StartTransfer {multiHandle} { + while {1==1} { + set runningTransfers [Perform $multiHandle] + if {$runningTransfers>0} { + after 500 + } else { + break + } + } +} + +puts "We create and configure the easy handles" + +set curlEasyHandle1 [curl::init] +set curlEasyHandle2 [curl::init] + +$curlEasyHandle1 configure -url http://127.0.0.1/~andres/ -file index.html +$curlEasyHandle2 configure -url http://127.0.0.1/ -file index2.html + +puts "Creating the multi handle" + +set curlMultiHandle [curl::multiinit] + +puts "Adding easy handles to the multi one" + +$curlMultiHandle addhandle $curlEasyHandle1 +$curlMultiHandle addhandle $curlEasyHandle2 + +puts "We start the transfer" + +StartTransfer $curlMultiHandle + +puts "Transfer done, cleanning up" + +$curlMultiHandle removehandle $curlEasyHandle1 +$curlMultiHandle removehandle $curlEasyHandle2 + +$curlMultiHandle cleanup +$curlEasyHandle1 cleanup +$curlEasyHandle2 cleanup + +