[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:5168] Re^2: dbm & flock

From: 青山 和光 <PXN11625@...>
Date: 1997-10-29 06:48:47 UTC
List: ruby-list #5168
まつもとさん、こんにちは。

>>[ruby-list:5095] Re: dbm & flock
>>From: matz@netlab.co.jp (Yukihiro Matsumoto)
>>
>>汎用的な方法は無いですねえ.やはり"db名.pag"とかでロックする
>>しか無いんではないかと.あるいはスレッドやマルチプロセスを使っ
>>てそのdbmファイルに対してのアクセスを一元化してしまうとか.

Perl5 ではこんな方法があるのですが、いかがでしょうか?

$db = tie %hash, 'NDBM_File', 'dbm';
$fd = $db->fd;
open(DB_FH, "+<&=$fd");
flock (DB_FH, LOCK_EX);

ところで、RedHat の標準環境では dbm がうまくコンパイルされないようです。
require "dbm" で、ruby: can't resolve symbol 'dbm_clearerr' となります。

また、Slackware では、すでに開かれている dbm を開こうとすると、
Errno::EWOULDBLOCK になります。

適切な ndbm.h を持ってくれば良いのだろうと思いますが、どのあたりのを持っ
てくるのがおすすめでしょうか?


青山 和光 Wakou Aoya.ma <pxn11625@niftyserve.or>

In This Thread

Prev Next