Project

General

Profile

This project is closed and read-only.

Actions

Backport #8980

closed

backport r43112, r43114, r43117, r43118 (IO.pipe/popen and close_write/close_read)

Backport #8980: backport r43112, r43114, r43117, r43118 (IO.pipe/popen and close_write/close_read)

Added by nagachika (Tomoyuki Chikanaga) almost 13 years ago. Updated almost 13 years ago.

Status:
Closed
[ruby-dev:47742]

Description

pipe と close_write/close_read に関する一連の修正がバックポート必要か確認します。
備忘のためチケット化。

Updated by nobu (Nobuyoshi Nakada) almost 13 years ago Actions #1 [ruby-dev:47743]

少なくとも1.9以降は必要なはずです。

Updated by nagachika (Tomoyuki Chikanaga) almost 13 years ago Actions #2

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r43144.
Tomoyuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 43112,43114,43117,43118: [Backport #8980]

* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to
  fix freed pointer access when it is in use by other threads, and get
  rid of potential memory/fd leak.

* io.c (rb_io_close_write): detach tied IO for writing before closing
  to get rid of race condition.  [ruby-list:49598]

* io.c (rb_io_close_read): duplex IO should wait its child process
  even after close_read.

Updated by nagachika (Tomoyuki Chikanaga) almost 13 years ago Actions #3

  • Project changed from 15 to 13
  • Status changed from Closed to Assigned
  • Assignee changed from nagachika (Tomoyuki Chikanaga) to usa (Usaku NAKAMURA)

1.9 にも必要らしいということで移動しておきます。

Updated by usa (Usaku NAKAMURA) almost 13 years ago Actions #4

  • Status changed from Assigned to Closed

This issue was solved with changeset r43482.
Tomoyuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 43112,43114,43117,43118: [Backport #8980]

* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to
  fix freed pointer access when it is in use by other threads, and get
  rid of potential memory/fd leak.

* io.c (rb_io_close_write): detach tied IO for writing before closing
  to get rid of race condition.  [ruby-list:49598]

* io.c (rb_io_close_read): duplex IO should wait its child process
  even after close_read.
Actions

Also available in: PDF Atom