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=78241 --- shadow/78241 2006-05-03 05:40:17.000000000 -0400 +++ shadow/78241.tmp.9033 2006-05-03 08:54:30.000000000 -0400 @@ -308,6 +308,60 @@ * reference to reach 0 isn't an application bug anyway. */ destroy = (InterlockedDecrement (&_WAPI_PRIVATE_HANDLES(idx).ref) ==0); is there a bug here? + +------- Additional Comments From [EMAIL PROTECTED] 2006-05-03 08:54 ------- +I've done a little patch, that add a destructor to the process... So +closehandle is now called when disposing the process and we the GC +clean up the reference... + +Index: System.Diagnostics/Process.cs +=================================================================== +--- System.Diagnostics/Process.cs (révision 60109) ++++ System.Diagnostics/Process.cs (copie de travail) +@@ -892,7 +892,7 @@ + } else { + stdin_rd = MonoIO.ConsoleInput; + /* This is required to stop the +- * &$*£ing stupid compiler moaning ++ * &$*ing stupid compiler moaning + * that stdin_wr is unassigned, below. + */ + stdin_wr = (IntPtr)0; +@@ -1081,6 +1081,19 @@ + + private bool disposed = false; + ++ ~Process() ++ { ++ lock(this) ++ { ++ if(process_handle!=IntPtr.Zero) ++ { ++ +Process_free_internal(process_handle); ++ process_handle=IntPtr.Zero; ++ } ++ } ++ } ++ ++ + protected override void Dispose(bool disposing) { + // Check to see if Dispose has already been +called. + if(this.disposed == false) { +@@ -1097,7 +1110,7 @@ + if(process_handle!=IntPtr.Zero) { + + +Process_free_internal(process_handle); +- +process_handle=IntPtr.Zero; ++ +//process_handle=IntPtr.Zero; + } + + if (input_stream != null) { + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
