Project

General

Profile

Feature #9420

warn and puts should be atomic

Added by normalperson (Eric Wong) almost 6 years ago. Updated almost 2 years ago.

Status:
Open
Priority:
Normal
Target version:
-
[ruby-core:<unknown>]

Description

Since we added use of writev in r44618, we should make warn/puts atomic.
It would make development of multiprocess/multithreaded processes easier,
I think it was intended to be atomic based on old comments in io.c:

-       /*
-        * xxx: use writev to avoid double write if available
-        * writev may help avoid context switch between "a" and "\n" in
-        * STDERR.puts "a" [ruby-dev:25080] (rebroken since native threads
-        * introduced in 1.9)
-        */

Related issues

Related to Ruby master - Feature #9323: IO#writevClosedActions
Has duplicate Ruby master - Feature #14042: IO#puts: use writev if availableClosedActions

History

#1

Updated by nobu (Nobuyoshi Nakada) almost 6 years ago

  • Description updated (diff)

Updated by Glass_saga (Masaki Matsushita) almost 6 years ago

  • Assignee set to Glass_saga (Masaki Matsushita)
#3

Updated by shyouhei (Shyouhei Urabe) about 2 years ago

#4

Updated by nobu (Nobuyoshi Nakada) about 2 years ago

  • Has duplicate Feature #14042: IO#puts: use writev if available added
#5

Updated by naruse (Yui NARUSE) almost 2 years ago

  • Target version deleted (2.2.0)

Also available in: Atom PDF