[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2004/12/03
[#25070] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/06

なかだです。

[#25071] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/06

In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25089] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/07

なかだです。

[#25090] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/07

In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25093] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — akira yamada / やまだあきら <akira@...> 2004/12/07

2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:

[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>

同じ文字列をほぼ同時に IO に書き込むと、temporal locking already

13 messages 2004/12/04
[#25042] Re: temporal locking already locked string on simultaneous write — Yukihiro Matsumoto <matz@...> 2004/12/04

まつもと ゆきひろです

[#25043] Re: temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org> 2004/12/04

In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,

[#25096] double free problem — "Akinori MUSHA" <knu@...>

 ご無沙汰しております。

15 messages 2004/12/07
[#25099] Re: double free problem — Yukihiro Matsumoto <matz@...> 2004/12/07

Hi,

[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>

えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお

18 messages 2004/12/07

[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>

次のように、1.8 で双方向 popen な IO を reopen するとエラーになること

11 messages 2004/12/10

[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>

NetBSD 2.0 で次のようにすると core を吐きます。

18 messages 2004/12/11
[#25159] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/11

In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,

[#25163] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/12

In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,

[#25165] Re: core dump on NetBSD 2.0 — nobu@... 2004/12/13

なかだです。

[#25167] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/13

In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2004/12/14

[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

20 messages 2004/12/24
[#25301] Re: リリース準備 — TAKAHASHI Masayoshi <maki@...> 2004/12/24

高橋征義です。

[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>

In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,

15 messages 2004/12/24
[#25314] Re: test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...> 2004/12/24

In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,

[#25315] Re: test_readline.rb blocks on BSD again — Yukihiro Matsumoto <matz@...> 2004/12/24

まつもと ゆきひろです

[#25317] Re: test_readline.rb blocks on BSD again — WATANABE Hirofumi <eban@...> 2004/12/25

わたなべです。

[ruby-dev:25117] Re: non-stdio buffering

From: Tanaka Akira <akr@...17n.org>
Date: 2004-12-08 05:04:52 UTC
List: ruby-dev #25117
In article <20041208.033521.635728872.gotoyuzo@sawara.does.notwork.org>,
  GOTOU Yuuzou <gotoyuzo@notwork.org> writes:

> In message <87fz2icqlf.fsf@serein.a02.aist.go.jp>,
>  `Tanaka Akira <akr@m17n.org>' wrote:
>> * OpenFile 構造体から f を除去する
>
>>   ただし、これを行うと、ext/openssl/ossl_bio.c の BIO_new_fp のように
>>   拡張ライブラリで GetOpenFile を使って FILE* を得ている部分で困るかも
>>   知れません。まぁ、その部分で fdopen すればいいのではないかという気も
>>   するのですが、使っているところのメンテナと相談したい所です。
>
> はい。ここについてはfdopen()を使うように変更しました。

すばらしい。

というわけで、OpenFile 構造体の f メンバを捨てるのに問題がひとつ減りま
した。

In article <87fz2icqlf.fsf@serein.a02.aist.go.jp>,
  Tanaka Akira <akr@m17n.org> writes:

>   また、これを行うと popen(3) を使うコードを捨てる必要があります。しか
>   し、じつは最近の Ruby ではそこの部分にバグがあって、コンパイルできな
>   かったはずです。したがって、捨てても大きな影響はないはずだと考えてい
>   ます。
>   (popen を使うのは HAVE_FORK も _WIN32 も定義されていない時なのですが、
>   そこで fpr という変数を使っていたにもかかわらず、その変数は _WIN32
>   が定義されているときしか定義されていませんでした)

という popen(3) のところはどうしましょう?

調べてみると、[ruby-list:4243] あたりなどから、この popen(3) を使うコー
ドはは DJGPP 用なようです。

そして、
http://jarp.jin.gr.jp/diary/200412a.html#200412061
をみると、一応いまでも動くようです。

というわけで、

* f を捨てて Solaris の 256個制限を乗り越え、DJGPP は捨てる
* 今のままで DJGPP で動くようにしておき、256個制限はあきらめる
* popen を使わずに DJGPP で動くようにコードを書き、DJGPP で動くまま
  256個制限を取り除く

というあたりの選択肢が考えられるんですが、どれがいいでしょう?

また、調べ直してみると、他にもいくつかありました。

まず、__human68k__ 用の、fmode(fptr->f, _IOBIN) というコードがありまし
た。

* human68k は捨てる
* fmode と等価なことを file descriptor に対して行う方法を調べる
  (というか、human64k の text mode は stdio と kernel のどっちで行われ
  ているのだろう?)

また、DL の rb_io_to_ptr という関数で、FILE 構造体へのポインタを渡すと
いう機能があるようです。

* その機能を捨てる
* DL で fdopen する (でも、いつ fclose したらいいだろう?)
* lazy に fdopen する機能を IO につける
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread