Benoit Laniel wrote:
   > I made some tests 2 weeks ago and here are my results :
   > - Freenet starts and I can generate the file freenet.ini.
   > - The node cannot create the datastore because of file locking (see
   > http://gcc.gnu.org/ml/java/2002-05/msg00137.html)
   > - Servlets don't start. I guess it's a problem with the process 
handling
   > and/or the native notifyAll() function (see
   > http://gcc.gnu.org/ml/java/2002-05/msg00112.html)

I made a few tests again but with the final version of gcj 3.1...

Modifications:
==============
- Applied file locking patch
(http://gcc.gnu.org/ml/java/2002-05/msg00137.html)
- Applied FileOutputStream corruption patch 
(http://gcc.gnu.org/ml/java-patches/2002-q2/msg00232.html)
- Modified natFileDescriptorWin32.cc (see the patch below, this is the 
first diff I made, I hope it works). Here's what I understood when I 
read natFileDescriptorPosix.cc:

When jflags are READ & WRITE:
  - Create the file if it does not exist, otherwise, open it.
When jflags are READ:
  - Open the file and return an error if it does not exist
When jflags are WRITE:
  - When using APPEND, the file is created if it does not exist, 
otherwise it is opened.
  - When using EXCL, the file is created if it does not exist and an 
error is returned if it exists.
  - Otherwise, the file is created if it does not exist and truncated to 
0 if it exists.

I made the changes according to these rules.

Results:
========
- Everything seems to work. I'll try to upload a binary version during 
the day.

Regards
Nels


Patch:
======

--- natFileDescriptorWin32.cc.old       2002-06-03 10:00:22.000000000 +0200
+++ natFileDescriptorWin32.cc   2002-06-03 10:12:36.000000000 +0200
@@ -98,10 +98,7 @@
      {
        access = GENERIC_READ | GENERIC_WRITE;
        share = 0;
-      if (jflags & APPEND)
        create = OPEN_ALWAYS;
-      else
- 
create = CREATE_ALWAYS;
      }
    else if(jflags & READ)
      access = GENERIC_READ;
@@ -111,6 +108,8 @@
        share = 0;
        if (jflags & APPEND)
        create = OPEN_ALWAYS;
+      else if (jflags & EXCL)
+        create = CREATE_NEW
        else
          create = CREATE_ALWAYS;
      }


_______________________________________________
devl mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to