[#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:4949] Re: flock(mswin32)

From: KIMURA Koichi <kkimura@...>
Date: 1997-10-14 03:36:15 UTC
List: ruby-list #4949
木村です。お待たせして申し訳ねっす。

	In: [ruby-list:4911]

>助田です。
>mswin32版の flock 修正しました。
>ruby-1.0-971003にこのパッチをあててください。
>Windows 95 + VisualC++5.0 でコンパイル、確認しています。
>確認できる環境がないので 結局 NTの部分は、前回のものに手を加える
>のはやめました。
(snip)
>すいませんが、このパッチを当てて確認お願いします>木村さん。

NTの部分でも95と同じく、エラーコードのすり替えが必要でした。その
ままだと Windowsのエラーコード (ERROR_LOCKFILEだったかな?)が渡さ
れて、これは EDOMに見られちゃいます(要は同じ数値)。

ところで、lockしてないファイルに対して flock(File::LOCK_UN)
すると segmentation faultになるのですが、これは他でも同じで
すか?


ということで、差分です。

--- nt.c.orig	Tue Oct 14 11:19:40 1997
+++ nt.c	Tue Oct 14 11:23:51 1997
@@ -104,9 +104,11 @@
             LK_ERR(LockFileEx(fh,
                    LOCKFILE_EXCLUSIVE_LOCK|LOCKFILE_FAIL_IMMEDIATELY,
                    0, LK_LEN, 0, &o),i);
+	    if(errno == EDOM) errno = EWOULDBLOCK;
             break;
         case LOCK_UN:       /* unlock lock */
             LK_ERR(UnlockFileEx(fh, 0, LK_LEN, 0, &o),i);
+	    if(errno == EDOM) errno = EWOULDBLOCK;
             break;
         default:            /* unknown */
             errno = EINVAL;


-- 
木村浩一
    e-mail koichi-ki@aix.or.jp
           kkimura@pure.cpdc.canon.co.jp

In This Thread