From: Charlie@..., Somerville@... Date: 2014-01-13T03:31:35+00:00 Subject: [ruby-core:59731] [ruby-trunk - Bug #9302] [Open] [PATCH] thread: fix deadlock/freeze on SizedQueue#push Issue #9302 has been updated by Charlie Somerville. Status changed from Closed to Open Assignee set to Yui NARUSE % Done changed from 100 to 0 Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN to 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED ---------------------------------------- Bug #9302: [PATCH] thread: fix deadlock/freeze on SizedQueue#push https://bugs.ruby-lang.org/issues/9302#change-44244 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Yui NARUSE * Category: ext * Target version: current: 2.2.0 * ruby -v: ruby 2.2.0dev (2013-12-26 trunk 44439) [x86_64-linux] * Backport: 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED ---------------------------------------- SizedQueue#push needs to check the thread list for threads waiting on enqueue. Checking the wrong thread list leads strange/surprising behavior when the the queue is full. This needs to be backported to 2.1.0 (not 2.0.0 or earlier) ---Files-------------------------------- 0001-thread-fix-deadlock-freeze-on-SizedQueue-push.patch (1.73 KB) -- http://bugs.ruby-lang.org/