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=77423 --- shadow/77423 2006-01-31 15:53:43.000000000 -0500 +++ shadow/77423.tmp.17555 2006-01-31 15:53:43.000000000 -0500 @@ -0,0 +1,61 @@ +Bug#: 77423 +Product: Mono: Runtime +Version: 1.1 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: io-layer +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Locked file can be wiped out by a StreamWriter + +The following test case opens a file with FileShare.None access, so in +theory it can't be modified by another writer. However, when a StreamWriter +tries to rewrite the file, although it fails with an exception, the file is +wiped out. + +using System; +using System.IO; +using System.Threading; + +public class Test +{ + static string TheFile = "/tmp/somefile.txt"; + + public static void Main (string[] args) + { + // Write some file + StreamWriter sw = new StreamWriter (TheFile); + sw.WriteLine ("Hello!"); + sw.Close (); + + // Open and lock the file + FileStream s = File.Open (TheFile, FileMode.Open, FileAccess.Read, +FileShare.None); + + // Try to modify the locked file + try { + StreamWriter w = new StreamWriter (TheFile, false); + w.Write ("Bye!"); + w.Close (); + } catch { + Console.WriteLine ("File was locked!"); + } + + s.Close (); + + // Show the contents + StreamReader sr = new StreamReader (TheFile); + Console.WriteLine ("Contents: " + sr.ReadToEnd ()); + sr.Close (); + + File.Delete (TheFile); + } +} _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
