[Ruby 1.9 - Bug #5259][Open] SizedQueue#max=で正でない数を指定できてしまう

Issue #5259 has been reported by Masaki M…


Bug #5259: SizedQueue#max=で正でない数を指定できてしまう

Author: Masaki M.
Status: Open
Priority: Normal
Assignee:
Category: lib
Target version: 1.9.x
ruby -v: ruby 1.9.4dev (2011-09-01 trunk 33157) [x86_64-linux]

=begin
SizedQueue#max=で正でない数を指定できてしまいます。

require ‘thread’

sq = SizedQueue.new(1)
sq.max = -1
p sq.max #=> -1
sq.push(nil) #=> deadlock detected

SizedQueue.newでは引数が正の数であるかどうかチェックが行われていますが、SizedQueue#max=ではそのようなチェックが行われていません。
これはバグではないでしょうか。
patchを添付します。
=end

Issue #5259 has been updated by Tomoyuki C…

Status changed from Open to Assigned
Assignee set to Tomoyuki C.

おっしゃる通りだと思いますので、テストを追加してコミットしておきます。
報告ありがとうございました。

Bug #5259: SizedQueue#max=で正でない数を指定できてしまう

Author: Masaki M.
Status: Assigned
Priority: Normal
Assignee: Tomoyuki C.
Category: lib
Target version: 1.9.x
ruby -v: ruby 1.9.4dev (2011-09-01 trunk 33157) [x86_64-linux]

=begin
SizedQueue#max=で正でない数を指定できてしまいます。

require ‘thread’

sq = SizedQueue.new(1)
sq.max = -1
p sq.max #=> -1
sq.push(nil) #=> deadlock detected

SizedQueue.newでは引数が正の数であるかどうかチェックが行われていますが、SizedQueue#max=ではそのようなチェックが行われていません。
これはバグではないでしょうか。
patchを添付します。
=end