[#103241] [Ruby master Bug#17777] 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99 — eregontp@...
Issue #17777 has been reported by Eregon (Benoit Daloze).
17 messages
2021/04/05
[#103305] [Ruby master Feature#17785] Allow named parameters to be keywords — marcandre-ruby-core@...
Issue #17785 has been reported by marcandre (Marc-Andre Lafortune).
21 messages
2021/04/08
[#103342] [Ruby master Feature#17790] Have a way to clear a String without resetting its capacity — jean.boussier@...
Issue #17790 has been reported by byroot (Jean Boussier).
14 messages
2021/04/09
[#103388] [ANN] Multi-factor Authentication of bugs.ruby-lang.org — SHIBATA Hiroshi <hsbt@...>
Hello,
5 messages
2021/04/12
[#103414] Re: [ANN] Multi-factor Authentication of bugs.ruby-lang.org
— Martin J. Dürst <duerst@...>
2021/04/13
Is there a way to use this multi-factor authentication for (like me)
[#103547] List of CI sites to check — Martin J. Dürst <duerst@...>
Hello everybody,
4 messages
2021/04/22
[#103596] [Ruby master Feature#17830] Add Integer#previous and Integer#prev — rafasoaresms@...
Issue #17830 has been reported by rafasoares (Rafael Soares).
9 messages
2021/04/26
[ruby-core:103452] [Ruby master Bug#17801] repeated read from PTY blocks all Fibers
From:
pebauer68@...
Date:
2021-04-14 19:16:51 UTC
List:
ruby-core #103452
Issue #17801 has been updated by pebauer (peter bauer).
ioquatix (Samuel Williams) wrote in #note-1:
> Investigating.
Hello Samuel, if found the following:
**A read on a PTY master which is not ready seems to block all fibers.**
I think not ready - means 0 Bytes to read, which can be checked via IO.nread
`Workaround 1:
Fiber.schedule do
loop do
puts master.gets if master.ready?
sleep 0.1
end
end
Workaround 2: # never try to read more bytes then available
Fiber.schedule do
loop do
puts master.read(master.nread) if master.nread > 0
sleep 0.1
end
end`
----------------------------------------
Bug #17801: repeated read from PTY blocks all Fibers
https://bugs.ruby-lang.org/issues/17801#change-91545
* Author: pebauer (peter bauer)
* Status: Open
* Priority: Normal
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
Ruby version:
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
used Scheduler:
https://github.com/ruby/ruby/blob/master/test/fiber/scheduler.rb
Example Code which should work:
```
require 'pty'
require "./scheduler.rb"
line_event = TracePoint.new(:line) do |t|
p [t.lineno, t.method_id, t.path]
end
Fiber.set_scheduler(Scheduler.new)
master, slave = PTY.open
read, write = IO.pipe
pid = spawn("bash", :in=>read, :out=>slave)
read.close # we dont need the read
slave.close # or the slave
line_event.enable do
Fiber.schedule do
loop do
puts "date"
write.puts "date"
sleep 1
end
end
Fiber.schedule do
loop do
puts master.gets.chomp
puts master.gets.chomp # this line blocks all fibers, why ?
puts "test"
sleep 1
end
end
#write.close
end
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>