From 3984108474e308994778c8b046cbfd9882fe1fa9 Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 6 Apr 2012 23:52:28 +0200 Subject: [PATCH] redis.tcl: no longer leave unread replies if an error happens during a MULTI/EXEC block. --- tests/support/redis.tcl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/support/redis.tcl b/tests/support/redis.tcl index ca6cf34b..99415b64 100644 --- a/tests/support/redis.tcl +++ b/tests/support/redis.tcl @@ -142,9 +142,15 @@ proc ::redis::redis_multi_bulk_read fd { set count [redis_read_line $fd] if {$count == -1} return {} set l {} + set err {} for {set i 0} {$i < $count} {incr i} { - lappend l [redis_read_reply $fd] + if {[catch { + lappend l [redis_read_reply $fd] + } e] && $err eq {}} { + set err $e + } } + if {$err ne {}} {return -code error $err} return $l } -- 2.47.2