Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=80701 --- shadow/80701 2007-02-03 18:28:05.000000000 -0500 +++ shadow/80701.tmp.15878 2007-04-13 22:56:57.000000000 -0400 @@ -64,6 +64,52 @@ ------- Additional Comments From [EMAIL PROTECTED] 2007-02-03 18:28 ------- The support was only partial, and it is too expensive to emulate. Try the strict emulation (its some environment variable documented in the man page). + +------- Additional Comments From [EMAIL PROTECTED] 2007-04-13 22:56 ------- +This behavior is still confusing. Here's an IronPython session under +Mono: + +>>> os.getenv("MONO_STRICT_IO_EMULATION") +>>> os.getenv("MONO_STRICT_IO_EMULATION") is None +True +>>> f1 = open("/tmp/test1","w") +>>> f2 = open("/tmp/test1", "r") +>>> f3 = open("/tmp/test1", "w") +>>> f1 +<open file '/tmp/test1', mode 'w' at 0xFCFEE100> +>>> f4 = System.IO.File.Open("/tmp/test1",System.IO.FileMode.Write) +Traceback (most recent call last): +AttributeError: type object 'FileMode' has no attribute 'Write' +>>> f4 = System.IO.File.Open("/tmp/test1",System.IO.FileMode.Append) +Traceback (most recent call last): + File mscorlib, line unknown, in Open + File mscorlib, line unknown, in .ctor + File mscorlib, line unknown, in .ctor +IOError: Sharing violation on path /tmp/test1 +>>> f4 = System.IO.File.Open("/tmp/test2",System.IO.FileMode.Append) +>>> f5 = System.IO.File.Open("/tmp/test2",System.IO.FileMode.Append) +Traceback (most recent call last): + File mscorlib, line unknown, in Open + File mscorlib, line unknown, in .ctor + File mscorlib, line unknown, in .ctor +IOError: Sharing violation on path /tmp/test2 +>>> f6 = open("/tmp/test2", "r") +Traceback (most recent call last): + File mscorlib, line unknown, in .ctor + File mscorlib, line unknown, in .ctor +IOError: Sharing violation on path /tmp/test2 + + +Why are files only locked sometimes? Or why are they being locked at +all under unix? There's still no guarantee that the file won't +change, since the OS isn't locking the file as Win32 does -- you can +still modify and/or delete the file from unix itself. Note also that +this is all being checked dynamically, so there's not even any safety +benefit from static analysis. + +The environment variable MONO_STRICT_IO_EMULATION was not set either. + Maybe there could be a MONO_IO variable that can be set to +POSIX/unix/native or Win32? _______________________________________________ mono-bugs maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-bugs
