[#47386] [Backport92 - Backport #6958][Open] buggy BigDecimal#integer? — "adrianomitre (Adriano Mitre)" <adriano.mitre@...>
7 messages
2012/09/01
[#47409] [ruby-trunk - Feature #6973][Open] Add an #integral? method to Numeric to test for whole-number values — "regularfry (Alex Young)" <alex@...>
12 messages
2012/09/03
[#47444] [ruby-trunk - Bug #6986][Open] Inconsistent result of BigDecimal#power — "phasis68 (Heesob Park)" <phasis@...>
7 messages
2012/09/06
[#47453] [ruby-trunk - Bug #6994][Open] yield plus splat unwraps too much — "headius (Charles Nutter)" <headius@...>
8 messages
2012/09/07
[#47460] [ruby-trunk - Bug #6997][Open] Improve documentation for OptionParser — "eike.rb (Eike Dierks)" <eike@...>
7 messages
2012/09/08
[#47465] [ruby-trunk - Feature #7003][Assigned] Please decide. MVM to be with 2.0? — "shyouhei (Shyouhei Urabe)" <shyouhei@...>
3 messages
2012/09/10
[#47483] [ruby-trunk - Bug #7009][Open] Crash in method_missing — "alexcoplan (Alex Coplan)" <lexy0202@...>
6 messages
2012/09/12
[#47523] [ruby-trunk - Feature #7022][Open] add event hook for garbage collection — "rogerdpack (Roger Pack)" <rogerpack2005@...>
7 messages
2012/09/14
[#47531] [ruby-trunk - Feature #7022] add event hook for garbage collection
— "rogerdpack (Roger Pack)" <rogerpack2005@...>
2012/09/14
[#47540] autoload & require — Xavier Noria <fxn@...>
Hi,
4 messages
2012/09/15
[#47562] feature request: thread pool class — Roger Pack <rogerdpack2@...>
It has always seemed a bit odd to me that Ruby's sdlib doesn't have some kind of
4 messages
2012/09/17
[#47638] [ruby-trunk - Bug #7046][Open] ERB#run and ERB#result are not safe for concurrent use — "headius (Charles Nutter)" <headius@...>
11 messages
2012/09/21
[#47653] [ruby-trunk - Bug #7050][Open] encoding of String#unpack for 'H', 'h', 'B' and 'b' — "Eregon (Benoit Daloze)" <redmine@...>
6 messages
2012/09/22
[#47655] [ruby-trunk - Feature #7051][Open] Extend caller_locations API to include klass and bindings. Allow caller_locations as a method hanging off Thread. — "sam.saffron (Sam Saffron)" <sam.saffron@...>
13 messages
2012/09/23
[#47709] [ruby-trunk - Bug #7076][Open] TestUnicodeEscape#test_basic failure on Windows — "h.shirosaki (Hiroshi Shirosaki)" <h.shirosaki@...>
4 messages
2012/09/27
[#47719] [ruby-trunk - Bug #7082][Open] Process.kill 0 in windows can return spurious success — "rogerdpack (Roger Pack)" <rogerpack2005@...>
6 messages
2012/09/28
[#47730] [ruby-trunk - Bug #7085][Open] Subversion → GitHub gateway stops. — "shyouhei (Shyouhei Urabe)" <shyouhei@...>
27 messages
2012/09/29
[#47731] [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— "shyouhei (Shyouhei Urabe)" <shyouhei@...>
2012/09/29
[#47743] Re: [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— Evan Phoenix <evan@...>
2012/09/29
Hello shyouhei,
[#47746] Re: [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— Urabe Shyouhei <shyouhei@...>
2012/09/30
On 09/30/2012 02:33 AM, Evan Phoenix wrote:
[#48020] [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— "shyouhei (Shyouhei Urabe)" <shyouhei@...>
2012/10/16
[#48953] [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— "shyouhei (Shyouhei Urabe)" <shyouhei@...>
2012/11/05
[#49123] Re: [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops.
— Evan Phoenix <evan@...>
2012/11/08
So sorry for the continual delay. I'm setting this up right now but it appears that I (evanphx on github) don't have access to push to ruby/ruby. When I am added, I can update the repo immediately.
[#47735] [ruby-trunk - Bug #7087][Open] ::ConditionVariable#wait does not work with Monitor because Monitor#sleep does not exist — "rklemme (Robert Klemme)" <shortcutter@...>
10 messages
2012/09/29
[ruby-core:47637] [ruby-trunk - Bug #6822][Closed] Race Condition with Fiber and Process
From:
"ko1 (Koichi Sasada)" <redmine@...>
Date:
2012-09-21 22:44:32 UTC
List:
ruby-core #47637
Issue #6822 has been updated by ko1 (Koichi Sasada).
Category changed from YARV to core
Status changed from Assigned to Closed
In general, you can sync with variables because Fibers are not changed automatically. In other words, you can completely control Fiber transition.
----------------------------------------
Bug #6822: Race Condition with Fiber and Process
https://bugs.ruby-lang.org/issues/6822#change-29651
Author: MartinBosslet (Martin Bosslet)
Status: Closed
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-05-07 trunk 35550) [x86_64-linux]
If I run the following code
$stdout.sync = true
objects = [1, 2, 3]
fiber = Fiber.new do
loop do
objects.each { |obj| Fiber.yield(obj) }
end
end
def run(obj)
fork do
puts obj
end
end
def on_child_exit(obj)
begin
while Process.wait(-1, Process::WNOHANG)
run(obj)
end
rescue Errno::ECHILD
end
end
trap(:CHLD) { on_child_exit(fiber.resume) }
4.times { run(fiber.resume) }
sleep
I get
fiber_process.rb:26:in `resume': double resume (FiberError)
or
fiber_process.rb:26:in `resume': fiber called across stack rewinding barrier (FiberError)
There is a race condition when two or more children exit. Now I know I can implement
this differently, but this still made me curious. Is this a bug? Let's say I would
need to use a Fiber, then there is no way how I can do the synchronization manually,
or is there? Using a Mutex to synchronize the Fiber#resume will fail due to the
non-reentrant behaviour of Mutex#lock (I'll get "in `lock': deadlock; recursive
locking (ThreadError)"). Is there a way to do this or should Fibers not be used in
this context?
--
http://bugs.ruby-lang.org/