Project

General

Profile

Actions

Feature #2060

closed

DLをCからRubyに変換する事を勧めます

Feature #2060: DLをCからRubyに変換する事を勧めます

Added by tenderlovemaking (Aaron Patterson) about 16 years ago. Updated over 14 years ago.

Status:
Closed
Assignee:
-
Target version:
-

Description

=begin
DLをCからRubyに変換すれば良いと思ったので、変換しました。CからRubyに変換後のパッチとそのテストを送ります。

このパッチを受け入れてもらえるのなら、これからもっとCからRubyに変換をするつもりです。

宜しくお願いします。
=end


Files

dl.patch (18.7 KB) dl.patch tenderlovemaking (Aaron Patterson), 09/08/2009 06:54 AM

Updated by naruse (Yui NARUSE) about 16 years ago Actions #1

  • Status changed from Open to Feedback

=begin
ちょうどRedmineの不調時で、MLを全く拾えてないんですが、とりあえず、これは[ruby-dev:39249] です。

FFI絡みの最新の議論は [ruby-core:26102] にあります。

このチケットで何か議論し残したことはありますか?
=end

Updated by tenderlovemaking (Aaron Patterson) almost 16 years ago Actions #2

=begin
こんにちは。私は10月24日以降、正式にDLのmaintainerに認可され、私に変更の権限が与えられましたので、よろしくお願いします。

それと、この件に関しては、私としては、DL ticketを打ち切りにした方が良いと思います。
=end

Updated by naruse (Yui NARUSE) almost 16 years ago Actions #3

=begin
AaronさんにRedmineのDeveloper権限を与えておきました。
これでticketをcloseしたりrejectしたりできます。
=end

Updated by tenderlovemaking (Aaron Patterson) almost 16 years ago Actions #4

  • Status changed from Feedback to Closed

=begin
Developer権限を与えてくださってありがとうございます。
では、先にお伝えした通り、早速closeします。

=end

Updated by mame (Yusuke Endoh) almost 16 years ago Actions #5

=begin
遠藤です。

2009年9月9日12:57 Tanaka Akira :

このテストを取り入れた後、test-all が SEGV するようになっています。

http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20090908T095209.log.txt.gz

test/dl/test_cptr.rb だけでも再現するようです。

ruby_xmalloc で確保した領域を、libc の free で解放することは許される
のでしょうか。dynamic loading の仕様が許すかどうかはわかりませんが、
少なくとも ruby としては ruby_xfree で解放することを意図していると
思います。
落ちる原因がそれかどうかはわかりませんが、このテストはそういうことを
しています。

CPtr の free に ruby_xfree を与えれば動くかもしれませんが、free には
ruby_xfree しか与えられないので、free の存在意義がありません。
CPtr.malloc は作成中の残骸か何かで、使えないのではないかと思います。

結論を言うと CPtr.malloc は使用禁止、もしくは仕様レベルからの修正が
必要だと思います。

したがって、CPtr.malloc のドキュメントをはずすことを提案します。
互換性が許すならば CPtr.malloc 自体を消した方がいいと思います。

ちなみに CPtr.new は問題なく使えそうです。ただし、free を割り当てる
場合は同じ領域に複数の CPtr を作ってはいけないというルールがあると
思います。このルールは rdoc に明記されるべきだと思います。

--
Yusuke ENDOH

=end

Actions

Also available in: PDF Atom