< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事(スレッド移動)
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
Issue #14042 has been updated by Eregon (Benoit Daloze).
mame (Yusuke Endoh) wrote:
> I'm unsure if it is a spec or not, but at least, it is a well-known practice to assign to `$stdout` a dummy object that implements a `write` method:
Good catch!
The patch calls #write, but with 2 arguments.
Probably one needs to check that the receiver #write can accept multiple arguments,
or do this logic only is $stdout.write is the original IO#write.
----------------------------------------
Feature #14042: IO#puts: use writev if available
https://bugs.ruby-lang.org/issues/14042#change-67552
* Author: rohitpaulk (Paul Kuruvilla)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
Hi,
I've attached a patch to make IO#puts use writev if available. Currently, IO#puts calls `write` twice: Once to write the string, and the second to write a newline (if the string doesn't end with one already). With this patch, those two calls are replaced with a single `writev` call.
A test has been added that demonstrates the problem.
For a bit of background:
* A related issue: https://bugs.ruby-lang.org/issues/9420. (I couldn't figure out a way to 'attach' my patch to that issue, so I'm creating a new one)
* A blog post I wrote a while back about this: https://hackernoon.com/rubys-puts-is-not-atomic-889c57fc9a28
Command I used to run the test I added: `make test-all TESTS='ruby/test_io.rb -n test_puts_parallel'`
I'm a first time contributor, a bit confused as to where a changelog entry should be added. Is the `NEWS` file the right place?
Regards,
Paul
---Files--------------------------------
ruby-changes.patch (2.39 KB)
ruby-changes.patch (2.83 KB)
--
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>