[#31320] Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

124 messages 2007/08/01
[#31321] Re: Import RubyGems to Ruby 1.9 — Nobuyoshi Nakada <nobu@...> 2007/08/01

なかだです。

[#31329] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/08/01

-----BEGIN PGP SIGNED MESSAGE-----

[#31918] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31970] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/08

-----BEGIN PGP SIGNED MESSAGE-----

[#32023] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/11

まつもと ゆきひろです

[#32062] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32066] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32068] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32069] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32070] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32073] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32079] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/16

-----BEGIN PGP SIGNED MESSAGE-----

[#32080] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/16

まつもと ゆきひろです

[#32132] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

-----BEGIN PGP SIGNED MESSAGE-----

[#32081] Re: Import RubyGems to Ruby 1.9 — Takahiro Kambe <taca@...> 2007/10/16

In message <471447D5.5050902@sarion.co.jp>

[#32087] Re: Import RubyGems to Ruby 1.9 — "Akinori MUSHA" <knu@...> 2007/10/17

 Rubygems は、基本的に他のパッケージシステムから包みやすい作り

[#32104] Re: Import RubyGems to Ruby 1.9 — akira yamada <akira@...> 2007/10/20

Tuesday 16 October 2007 14:09:13 に NAKAMURA, Hiroshi さんは書きました:

[#32109] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/20

-----BEGIN PGP SIGNED MESSAGE-----

[#31332] Re: Import RubyGems to Ruby 1.9 — Tadayoshi Funaba <tadf@...> 2007/08/01

> ちなみに「ruby/1.9.1の標準添付からどのライブラリを外すか?」という議論も

[#31858] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/25

-----BEGIN PGP SIGNED MESSAGE-----

[#31872] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/27

-----BEGIN PGP SIGNED MESSAGE-----

[#31905] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/29

-----BEGIN PGP SIGNED MESSAGE-----

[#31906] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/29

まつもと ゆきひろです

[#31910] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31920] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/30

まつもと ゆきひろです

[#31323] Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...>

むらけんです.

16 messages 2007/08/01
[#31326] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31327] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...> 2007/08/01

むらけんです.

[#31328] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31525] いくつかのバグ報告と提案(5点) — eklerni <eklerni@...>

From:eklerni

13 messages 2007/08/20

[#31539] strtod の精度 — Satoshi Nakagawa <snakagawa@...>

中川といいます。

27 messages 2007/08/20
[#31542] Re: strtod の精度 — Yukihiro Matsumoto <matz@...> 2007/08/20

まつもと ゆきひろです

[ruby-dev:31625] IO.sysdup2, IO.sysdup, IO.sysclose

From: Tanaka Akira <akr@...>
Date: 2007-08-23 15:04:56 UTC
List: ruby-dev #31625
redirect の処理をちょっと書いてみたところ、
IO.sysdup2, IO.sysdup, IO.sysclose が欲しくなったのですが、
加えてもいいでしょうか。(ドキュメントは後で書きます。)

例えば、sh の 3>&1 を実現するにはは dup2(1,3) を呼び出さない
といけないわけですが、IO#reopen でこれを行うには、まず fd が
3 な IO オブジェクトをえる必要があります。しかし、3 が close
状態だと、IO.new ができません。では 3 をどうにかして open 状
態に... とか考えるよりは dup2 がいきなり使えるのが良かろう、
というわけです。

dup と sysclose は、IO レベルでやることもできますが、dup2 で
そうやって fd レベルでの操作を行っていると、IO レベルに持ち
上げてから作業するのが面倒くさく、また、GC を気にしないとい
けなくていやなのが追加の理由です。それに、sysopen はすでにあっ
て、対になる sysclose がないと close しにくいですし。

Index: io.c
===================================================================
--- io.c	(リビジョン 13236)
+++ io.c	(作業コピー)
@@ -5143,6 +5143,43 @@
 #endif
 }
 
+static VALUE
+rb_io_s_sysdup(VALUE klass, VALUE oldfd_v)
+{
+    int oldfd, ret;
+    oldfd = NUM2INT(oldfd_v);
+    ret = dup(oldfd);
+    if (ret == -1) {
+        rb_sys_fail(0);
+    }
+    return INT2NUM(ret);
+}
+
+static VALUE
+rb_io_s_sysdup2(VALUE klass, VALUE oldfd_v, VALUE newfd_v)
+{
+    int oldfd, newfd, ret;
+    oldfd = NUM2INT(oldfd_v);
+    newfd = NUM2INT(newfd_v);
+    ret = dup2(oldfd, newfd);
+    if (ret == -1) {
+        rb_sys_fail(0);
+    }
+    return INT2NUM(ret);
+}
+
+static VALUE
+rb_io_s_sysclose(VALUE klass, VALUE fd_v)
+{
+    int fd, ret;
+    fd = NUM2INT(fd_v);
+    ret = close(fd);
+    if (ret == -1) {
+        rb_sys_fail(0);
+    }
+    return INT2NUM(ret);
+}
+
 struct foreach_arg {
     int argc;
     VALUE *argv;
@@ -5708,6 +5745,9 @@
     rb_define_singleton_method(rb_cIO, "read", rb_io_s_read, -1);
     rb_define_singleton_method(rb_cIO, "select", rb_f_select, -1);
     rb_define_singleton_method(rb_cIO, "pipe", rb_io_s_pipe, 0);
+    rb_define_singleton_method(rb_cIO, "sysdup",  rb_io_s_sysdup, 1);
+    rb_define_singleton_method(rb_cIO, "sysdup2",  rb_io_s_sysdup2, 2);
+    rb_define_singleton_method(rb_cIO, "sysclose",  rb_io_s_sysclose, 1);
 
     rb_define_method(rb_cIO, "initialize", rb_io_initialize, -1);
 
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next