[#12387] reducing logical operation — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

17 messages 2001/03/07
[#12388] Re: reducing logical operation — EGUCHI Osamu <eguchi@...> 2001/03/07

えぐち@エスアンドイー です。

[#12389] Re: reducing logical operation — nobu.nakada@... 2001/03/07

なかだです。

[#12391] Re: reducing logical operation — EGUCHI Osamu <eguchi@...> 2001/03/07

えぐち@エスアンドイー です。

[#12404] fork in threads — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

14 messages 2001/03/09

[#12405] at_exit — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 2001/03/09
[#12409] Re: at_exit — matz@... (Yukihiro Matsumoto) 2001/03/10

まつもと ゆきひろです

[#12411] Re: at_exit — keiju@... (石塚圭樹) 2001/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#12425] bignum % の結果が負数になることがある — Hisayasu Nakao <h-nakao@...>

最近、ruby-1.6.2を使い出したばかりの中尾です。

39 messages 2001/03/12
[#12427] Re: bignum % の結果が負数になることがある — WATANABE Hirofumi <eban@...> 2001/03/12

わたなべです。

[#12463] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/13

In message <4518-Mon12Mar2001145434+0900-eban@os.rim.or.jp>

[#12464] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/13

まつもと ゆきひろです

[#12466] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/13

In message <984469222.234203.1007.nullmailer@ev.netlab.zetabits.com>

[#12475] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12476] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984550885.417146.3670.nullmailer@ev.netlab.zetabits.com>

[#12480] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12481] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984553493.009507.3747.nullmailer@ev.netlab.zetabits.com>

[#12488] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12493] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984579430.080967.5569.nullmailer@ev.netlab.zetabits.com>

[#12578] require 'win32api' — Kazuhiro NISHIYAMA <zn@...>

require 'win32api'のエラーメッセージがわかりにくいと

21 messages 2001/03/20
[#12579] Re: require 'win32api' — nobu.nakada@... 2001/03/20

なかだです。

[#12598] Re: require 'win32api' — nobu.nakada@... 2001/03/21

なかだです。

[#12582] finalizer problem — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

20 messages 2001/03/20
[#12583] Re: finalizer problem — matz@... (Yukihiro Matsumoto) 2001/03/20

まつもと ゆきひろです

[#12585] Re: finalizer problem — keiju@... (石塚圭樹) 2001/03/20

けいじゅ@日本ラショナルソフトウェアです.

[#12591] Re: finalizer problem — matz@... (Yukihiro Matsumoto) 2001/03/20

まつもと ゆきひろです

[#12619] Re: finalizer problem — keiju@... (石塚圭樹) 2001/03/22

けいじゅ@日本ラショナルソフトウェアです.

[#12605] extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...>

渡辺哲也です。

17 messages 2001/03/22
[#12606] Re: extern inline (ruby.h) ruby-1.6.3 — matz@... (Yukihiro Matsumoto) 2001/03/22

まつもと ゆきひろです

[#12607] Re: extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...> 2001/03/22

渡辺哲也です。

[#12608] Re: extern inline (ruby.h) ruby-1.6.3 — matz@... (Yukihiro Matsumoto) 2001/03/22

まつもと ゆきひろです

[#12674] Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp>

21 messages 2001/03/25
[#12675] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/26

まつもと ゆきひろです

[#12678] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/26

[#12681] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/26

まつもと ゆきひろです

[#12687] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/27

[#12688] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/28

まつもと ゆきひろです

[#12710] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/31

[ruby-dev:12630] Re: new API of _id2ref [Re: finalizer problem]

From: keiju@... (石塚圭樹)
Date: 2001-03-22 17:27:27 UTC
List: ruby-dev #12630
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :12627 ] the message: "[ruby-dev:12627] Re: new API of _
id2ref [Re: finalizer problem] ", on Mar/22 23:58(JST) Masatoshi SEKI
writes:

>咳といいます。

>> 新たに Identifier or ObjectIdentifier or OID と言う組込みクラスを導入し.
>> 
>>   obj.id -> Identifier
>>   Identifier.get_obj/_id2ref -> obj
>> 
>> にしたらどうでしょう? IdentifierクラスはWeakRefと同様にfinalizerを用いて
>> objがGCされたかどうかチェックするようにします. こうするメリット
>
>すごーい。簡単に実装できるものなんですか? 
>
>OIDオブジェクトを誰かが持っていて、オブジェクトがGCされるとすると
>そのOIDを持つオブジェクトは生成されることはないということですよね。

うーん. あまり簡単ではないんだなと思いました.

NIC+timer(counter)+addrで一意なオブジェクトになると思いましたが... 逆が
必ずしも真ではない. つまり,

  obj.id

が毎回異なっていたら意味がないですよね.... WeakRefにID_MAPってありますが,
そういうものを導入して(keyは今のid), 

    ID_MAP[obj.internal_id]= OID.internal_id

ID_MAPに登録されていたら, そのinternal_idから_id2refしてOIDを取り出すよ
うにすれば良いかな... そうすれば,

  obj <-> OID

は1対1になりますね. OIDがGCされない限り. OIDがGCされたら, そのOIDはどこ
にもないので別のOIDが生成されても問題ないでしょう.

>一昨日、石塚さんのメールを見た後考えていたのですが、
>もしかして同じOIDが生成されることがない、と保証できればよいのでは
>ないでしょうか ? ファイナライザは用いないでも済むような気がします。

>現obj.id って巧妙に考えられた数値ですよね。それとオブジェクトの
>連番(?)を導入して各オブジェクトにそれを持たせます。連番は大きくなる
>値でオブジェクトが生成されるたびにインクリメントするようにします。
>
>んでOID は 現obj.id と 連番 のペアとして、id2refでは現obj.idで見に
>行くんだけど連番がマッチしないと obj を返さないで RefError にしてしまう。
>というものです。
>
># って素人考えですね。すみません。

いや. 正しいと思うんですが, 松本氏はこれ以上objectに余分な値を持たしたく
ないと思います(^^;;;

>> 2. 現idがintegerを返すので, かってに足し算引き算して, _id2refできてしま
>>    すのですが, それができなくなります.
>
>これってバグなどで偶然足し算引き算してしまうことがあることを防ぐため??

いや, 文字列とかBignumを使ってメモリ中に変なオブジェクトとかクラスを作成
して, 不正なコードを実行されるのを防ぐためです. 

>> 4. OID === NIC+time(or cunter)+addr にすれば, ネットワーク上も一意になる.
>>    これからは分散処理の時代です.   

そういえばもうひとつありました.

5. obj.idは再利用される可能性があるがOIDはない.

>安全にするために OIDは Marshal.dump/load 不可能になるのでしょうか ?

うーん. これって, 次の文を気にしているんだと思いますが:

>外部のプロセスからくるようなOIDは存在できるのでしょうか ?

これだけのためならどうにかなるかと思います. 上記の実装で, ID_REV_MAPに登
録されていたらOKにすればよいと思います. つまり, メモリ中にその参照先が存
在するってことですね.

Marshal.dump/loadで説明すると, 両方ともOK. でも, loadしたOIDから
get_objをした段階で, もし参照先が存在しなければエラーが起る.

うーん. ここまで考えると identifierはNIC+conter+addrはまずそうですね...
NIC+PID+time+counter+addr かな... 

とここまできて, 関さんの案を再度考えたのですが.

>現obj.id って巧妙に考えられた数値ですよね。それとオブジェクトの
>連番(?)を導入して各オブジェクトにそれを持たせます。連番は大きくなる
>値でオブジェクトが生成されるたびにインクリメントするようにします。
>
>んでOID は 現obj.id と 連番 のペアとして、id2refでは現obj.idで見に
>行くんだけど連番がマッチしないと obj を返さないで RefError にしてしまう。
>というものです。

これですね. これをちょっと変えて(だいぶですが...)

obj.idした段階でOIDを生成する度に連番(counter)をincする

  OID = NIC+PID+counter+adder

で, objの方にはcounterを持たせる. で, やはりfinalizerは必要ですが,
こうすればID_MAPなどは必要ないかなと...

# 眠いので, 間違っているかも(^^;;;

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread