mirror of
https://github.com/redis/redis.git
synced 2026-04-21 03:01:35 -04:00
Blocking command with a 0.001 seconds timeout blocks indefinitely (#11688)
Any value in the range of [0-1) turns to 0 when being cast from double to long long. This change rounds up instead of down for values that can't be stored precisely as long doubles.
This commit is contained in:
@@ -1263,6 +1263,16 @@ foreach {pop} {BLPOP BLMPOP_LEFT} {
|
||||
$rd close
|
||||
}
|
||||
|
||||
test "$pop: with 0.001 timeout should not block indefinitely" {
|
||||
# Use a timeout of 0.001 and wait for the number of blocked clients to equal 0.
|
||||
# Validate the empty read from the deferring client.
|
||||
set rd [redis_deferring_client]
|
||||
bpop_command $rd $pop blist1 0.001
|
||||
wait_for_blocked_clients_count 0
|
||||
assert_equal {} [$rd read]
|
||||
$rd close
|
||||
}
|
||||
|
||||
test "$pop: second argument is not a list" {
|
||||
set rd [redis_deferring_client]
|
||||
r del blist1{t} blist2{t}
|
||||
|
||||
Reference in New Issue
Block a user