]> git.saurik.com Git - redis.git/commitdiff
redis.tcl: no longer leave unread replies if an error happens during a MULTI/EXEC...
authorantirez <antirez@gmail.com>
Fri, 6 Apr 2012 21:52:28 +0000 (23:52 +0200)
committerantirez <antirez@gmail.com>
Sat, 7 Apr 2012 09:26:42 +0000 (11:26 +0200)
tests/support/redis.tcl

index ca6cf34b601eb83d57b66415e5cd71779c518491..99415b6409e91272862f696ac9829a894db305a5 100644 (file)
@@ -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
 }