[#118415] [Ruby master Bug#20601] Configuration flags are not properly propagated to assembler — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #20601 has been reported by vo.x (Vit Ondruch).

7 messages 2024/07/02

[#118467] [Ruby master Feature#20610] Float::INFINITY as IO.select timeout argument — "akr (Akira Tanaka) via ruby-core" <ruby-core@...>

Issue #20610 has been reported by akr (Akira Tanaka).

8 messages 2024/07/07

[#118483] [Ruby master Bug#20614] Integer#size returns incorrect values on 64-bit Windows — surusek via ruby-core <ruby-core@...>

SXNzdWUgIzIwNjE0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHN1cnVzZWsgKMWBdWthc3ogU3VyKS4N

10 messages 2024/07/08

[#118577] [Ruby master Bug#20631] Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #20631 has been reported by hsbt (Hiroshi SHIBATA).

9 messages 2024/07/12

[#118682] [Ruby master Misc#20652] Memory allocation for gsub has increased from Ruby 2.7 to 3.3 — "orisano (Nao Yonashiro) via ruby-core" <ruby-core@...>

Issue #20652 has been reported by orisano (Nao Yonashiro).

28 messages 2024/07/25

[ruby-core:118456] [Ruby master Bug#20413] Enumerator can block fiber scheduler.

From: "nagachika (Tomoyuki Chikanaga) via ruby-core" <ruby-core@...>
Date: 2024-07-06 02:24:43 UTC
List: ruby-core #118456
Issue #20413 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 3.0: UNKNOWN, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE to 3.0: UNKNOWN, 3.1: REQUIRED, 3.2: DONE, 3.3: DONE

Sorry, I accidentally handled a different ticket (#20414).

ruby_3_2 commit:2f8f17e842666abb05ca522d6072c957fab0e12e merged revision(s) commit:5d1702e01a36e11b183fe29ce10780a9b1a41cf0.

----------------------------------------
Bug #20413: Enumerator can block fiber scheduler.
https://bugs.ruby-lang.org/issues/20413#change-108970

* Author: ioquatix (Samuel Williams)
* Status: Closed
* Assignee: ioquatix (Samuel Williams)
* Backport: 3.0: UNKNOWN, 3.1: REQUIRED, 3.2: DONE, 3.3: DONE
----------------------------------------
Using `Enumerator` in the event loop can cause problems as the fiber created by `rb_fiber_new` is blocking by default. It should be non-blocking.

```ruby
#!/usr/bin/env ruby

require 'async'

Async do
  Async do
    while true
      puts "Hello"
      sleep 1
    end
  end
  
  enumerator = Enumerator.new do |yielder|
    while true
      yielder << "World"
      sleep 1
    end
  end
  
  while true
    puts enumerator.next
  end
end
```

Before this PR, the output is:

```
> ./test.rb
Hello
World
World
World
World
World
World
...
```

After this PR, the output is:

```
> ./test.rb
Hello
World
Hello
World
Hello
World
Hello
World
Hello
World
...
```

The reason why this happens, is because the enumerator `sleep` never yields to the event loop.

See <https://github.com/ruby/ruby/pull/10481> for the fix.



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next