This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mcs / class / System / System.Diagnostics / ChangeLog
1 2004-09-07  Dick Porter  <dick@ximian.com>
2
3         * Process.cs: Throw documented exceptions when getting stdin,
4         stdout or stderr and they haven't been redirected.  Check that
5         CreatePipe didn't fail, throw exceptions if it did.  Close
6         redirected streams when the process is disposed, rather than rely
7         on the GC disposing them later.  Makes timeline much happier,
8         because it could run out of file descriptors between GC
9         collections.
10
11 2004-09-06  Dick Porter  <dick@ximian.com>
12
13         * Process.cs: Make Dispose() actually dispose things.
14
15 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
16
17         * Process.cs : quick fix for UseShellExecute=false on windows. See
18           the code comment.
19
20 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
21
22         * Process.cs: Added missing check in HasExited property.
23
24 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
25
26         * EventLogPermissionAttribute.cs:
27         * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
28         and Inherited to match .NET
29
30 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
31
32         * Process.cs: separate the command and the arguments when calling
33         Start_internal.
34
35 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
36
37         * Process.cs: redirecting I/O is not permitted if UseShellExecute is
38         true. Also throw if FileName is null.
39
40 2004-04-06  Lluis Sanchez Gual  <lluis@ximian.com>
41
42         * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
43         use the constructor that only takes one string as parameter to
44         construct the listener. The name is set using the Name property, not the
45         constructor.
46         
47         * TextWriterTraceListener.cs: In Write*, do nothing if no writer was 
48         provided.
49
50 2004-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
51
52         * Process.cs: use the ISynchronizeInvoke object to invoke the event.
53         Implemented Close, CloseMainWindow and Kill.
54
55 2004-03-23 Ben Maurer  <bmaurer@users.sourceforge.net>
56
57         * Switch.cs: Don't throw when there is no switches section.
58
59 2004-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
60
61         * Process.cs: support EnableRaisingEvents + Exited event.
62
63 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
64
65         * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
66         timeout is int.MaxValue.
67
68 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
69
70         * Process.cs: added environment variables setting support and also
71         send useShellExecute to the runtime.
72
73         * ProcessStartInfo.cs: support EnvironmentVariables.  MS uses
74         StringDictionary, which turns keys into lowercase. We don't do that.
75
76 2004-02-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
77
78         * Process.cs: ExitCode and ExitTime check that the process is finished.
79
80 2003-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
81
82         * Process.cs: if there's an error when starting the process, the 'pid'
83         field contains the GetLastError code. Use that for the Win32Exception.
84
85 2003-12-06  Martin Baulig  <martin@ximian.com>
86
87         * DefaultTraceListener: Don't use `where' in variable names.
88
89 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
90
91         * ICollectData.cs: Fixed signature
92
93 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
94
95         * ICollectData.cs: Added missing attribute
96
97 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
98
99         * SRDescriptionAttribute.cs: Moved to System directory
100
101 2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
102
103         * EventLog.cs: Implementation handling
104         * EventLogImpl.cs: Added, contains an platform independent empty implementation
105         for EventLog
106
107 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
108
109         * AlphabeticalEnumConverter.cs: Added
110         * EventLogEntry.cs: Implemented
111         * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
112         * EventLogTraceListener.cs: Fixed signature
113         * PerformanceCounter.cs: Added missing attribute
114         * PerformanceCounterType.cs: Added missing attribute
115         * SRDescriptionAttribute.cs: Added and implemented
116
117 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
118
119         * CounterCreationData.cs:
120         * EventLog.cs:
121         * EventLogEntry.cs:
122         * PerformanceCounter.cs:
123         * Process.cs:
124         * ProcessModule.cs:
125         * ProcessStartInfo.cs:
126         * ProcessThread.cs: Reworked attributes based on the new Consts scheme
127
128 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
129
130         * PerformanceCounterCategory.cs: Fixed signatures
131
132 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
133
134         * PerformanceCounter.cs: Implemented or implementation added
135
136 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
137
138         * DiagnosticsConfigurationHandler.cs: Removed a never used variable
139         * EventLog.cs: Small update to prevent a warning
140         * EventLogPermission.cs: Implemented or implementation added
141         * EventLogPermissionAttribute.cs: Implemented or implementation added
142         * EventLogPermissionEntry.cs: Implemented or implementation added
143         * EventLogPermissionEntryCollection.cs: Implemented or implementation added
144         * EventLogTraceListener.cs: Implemented or implementation added
145         * PerformanceCounterManager.cs: Implemented or implementation added
146         * PerformanceCounterInstaller.cs: Made internal
147         * PerformanceCounterCategory.cs: Implemented few members
148         * PerformanceCounterPermission.cs: Implemented or implementation added
149         * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
150         * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
151         * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
152         
153 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
154
155         * EventLog.cs: Removed unneccesary attribute according to corecompare
156         * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
157         * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
158         * ProcessModule.cs: Removed unneccesary attribute according to corecompare
159         * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
160         * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
161
162 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
163
164         * InstanceDataCollectionCollection.cs: Corrected wrong signature
165         * EventLog.cs: Missing attributes added, redirected some class members
166         * EventLogEntry.cs: Missing attributes added
167         * EventLogInstaller.cs: Made internal
168         
169 2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
170
171         * CounterCreationData.cs: Added missing attributes
172         * CounterSample.cs: Implemented missing rest, fixed signature
173         * CounterSampleCalculator.cs: Added private constructor, redirected function
174         * Process.cs: Added attributes, added event mechanism
175         * ProcessModule.cs: Added missing attributes
176         * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
177         * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
178         * ProcessThread.cs: Added missing attributes, added pseudo constructor
179         * ProcessThreadCollection.cs: Implemented
180         * PerformanceCounterPermission.cs: Fixed typo in class name
181         * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
182         
183 2003-03-19  Dick Porter  <dick@ximian.com>
184
185         * Process.cs: Implement HasExited, fixes bug 39267
186
187 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
188
189         * Process.cs: throw an exception when the executable cannot be found.
190
191 2002-12-20  Jonathan Pryor <jonpryor@vt.edu>
192         * DiagnosticsConfigurationHandler.cs: 
193           - Don't assume that optional attributes are always present
194           - <assert/> can't have any child nodes
195           - Change in semantics: if the attribute isn't present,
196             GetAttribute() returns null, not "".  This allows us to
197             differentiate between an attribute not being present and an
198             attribute with an empty value.
199           - Translate exceptions if a TraceListener type is invalid
200
201 2002-12-19  Jonathan Pryor <jonpryor@vt.edu>
202         * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be 
203           hardcoded; they should be set to whatever TraceImpl is using (which
204           in turn may have been set by the .config file, so we should get the
205           user-specified values in added listeners).
206         * TraceListener.cs: Make sure that indents are initially written.  This 
207           allows code that uses Trace.Indent() before a Trace.WriteLine() to be 
208           indented properly.
209         * TraceImpl.cs: provide a static constructor to explicitly specify the
210           ordering of initialization, in particular the ordering of
211           TraceImpl.Listeners and the reading of the .config file (by
212           accessing DiagnosticsConfiguration.Settings).  This (hopefully)
213           ensures that the Listeners collection is initialized before the
214           .config file is read in, as the DiagnosticsConfigurationHandler will
215           directly modify the listeners collection.
216           The DiagnosticsConfigurationHandler assumes this so that it can
217           <add/> and <remove/> trace listeners and set the logfile for the
218           DefaultTraceListener.
219
220
221 2002-12-18  Jonathan Pryor <jonpryor@vt.edu>
222         * BooleanSwitch.cs: Complete re-write.  It works now.
223         * DefaultTraceListener.cs:
224           - Use `const' strings, so I don't worry about copy/paste errors
225           - Give `AssertUiEnabled' an actual backing member
226         * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
227           configuration handler set .config-specified properties on
228           DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
229           (AutoFlush, IndentSize).
230         * Switch.cs: Near complete re-write.  Actually works, and is (should be)
231           comformant with .NET behavior.  Changed member names because they
232           were confusing me.  (Yes, that doesn't say much about my memory.)
233         * TextWriterTraceListener.cs: Append text to already existing files,
234           don't overwrite them.
235         * TraceImpl.cs:
236           - Added private destructor, to ensure no instances are created.
237           - Move members declarations to be closer to each other.
238         * TraceSwitch.cs: Complete re-write.  It works now.
239
240 2002-12-17  Jonathan Pryor <jonpryor@vt.edu>
241         * DiagnosticsConfigurationHandler.cs: Implement so that .config files
242         support <system.diagnostics> sections.
243
244 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
245
246         * DefaultTraceListener.cs: now OutputDebugStringW is called from an
247         internal call (update your runtime!). No more warnings in linux.
248
249 2002-10-31  Dick Porter  <dick@ximian.com>
250
251         * Process.cs: MonoIO methods now have an error parameter
252
253 2002-10-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
254
255         * DefaultTraceListener.cs: changed OutputDebugString to
256         OutputDebugStringW (no more warnings under windows). Also a few style
257         fixes.
258
259 2002-10-23  Dick Porter  <dick@ximian.com>
260
261         * Process.cs: Redirected standard input needs to have AutoFlush set
262
263 2002-09-27  Dick Porter  <dick@ximian.com>
264
265         * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
266         ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
267         Pass the working directory to Start.  Pass the program and args in
268         one string to be used with the second arg of CreateProcess, so it
269         will search the path.
270
271 2002-09-19  Nick Drochak <ndrochak@gol.com>
272
273         * TraceImpl.cs: Remove debug prints
274
275 2002-09-19  Nick Drochak <ndrochak@gol.com>
276
277         * TraceListenerCollection.cs: Set Indet level and size to default 
278         values.  The values from TraceImpl might have been changed.
279
280 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
281
282         * Process.cs:
283         * TextWriterTraceListener.cs: IDisposable fixes.
284
285 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
286
287         * Process.cs: class status based fixes.
288
289 2002-07-20  Dick Porter  <dick@ximian.com>
290
291         * Process.cs: Implement file handle redirection
292
293 2002-07-13  Jonathan Pryor <jonpryor@vt.edu>
294         * CounterCreationData.cs: Implemented
295         * CounterCreationDataCollection.cs: Implemented
296         * CounterSample.cs: Stubbed Out
297         * CounterSampleCalculator.cs: Stubbed Out
298         * InstanceData.cs: Implemented
299         * InstanceDataCollection.cs: Implemented
300         * InstanceDataCollectionCollection.cs: Implemented
301         * MonitoringDescriptionAttribute.cs: Implemented
302         * PerformanceCounter.cs: Stubbed Out
303         * PerformanceCounterCategory.cs: Stubbed Out
304         * PerformanceCounterInstaller.cs: Stubbed Out
305         * PerformanceCounterManager.cs: Stubbed Out
306         * PerformanceCounterPermission.cs: Stubbed Out
307         * PerformanceCounterPermissionAccess.cs: Implemented
308         * PerformanceCounterPermissionAttribute.cs: Stubbed Out
309         * PerformanceCounterPermissionEntry.cs: Stubbed Out
310         * PerformanceCounterPermissionEntryCollection.cs: Implemented
311         * PerformanceCounterType.cs: Implemented
312
313
314 2002-06-25  Dick Porter  <dick@ximian.com>
315
316         * Process.cs: Process forking and waiting, and some support functions
317
318         * ProcessStartInfo.cs: Implemented the bits needed for basic
319         Process forking
320
321         * ProcessModule.cs: Implemented
322
323         * ProcessModuleCollection.cs: Mostly implemented
324
325         * FileVersionInfo.cs: Implemented
326
327 2002-06-16  Jonathan Pryor <jonpryor@vt.edu>
328         * ICollectData.cs: Implemented
329         * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
330                 corresponding properties on all current TraceListeners.
331                 Also, to answer the FIXME message: Yes, the properties in TraceListener
332                 need to be [ThreadStatic] as well.
333         * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
334                 should have its properties set to the current TraceImpl property values.
335         * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
336
337 2002-06-09  Jonathan Pryor <jonpryor@vt.edu>
338         * EntryWrittenEventArgs.cs: Implemented
339         * EntryWrittenEventHandler.cs: Implemented
340         * EventLog.cs: Stubbed out
341         * EventLogEntry.cs: Stubbed out
342         * EventLogEntryCOllection.cs: Implemented.
343         * EventLogEntryType.cs: Implemented
344         * EventLogInstaller.cs: Stubbed out
345         * EventLogPermission.cs: Stubbed out
346         * EventLogPermissionAccess.cs: Implemented
347         * EventLogPermissionAttribute.cs: Stubbed out
348         * EventLogPermissionEntry.cs: Stubbed out
349         * EventLogPermissionEntryCollection.cs: Stubbed out
350         * EventLogTraceListener.cs: Stubbed out
351
352 2002-05-29  Jonathan Pryor <jonpryor@vt.edu>
353   * DefaultTraceListener.cs: Implemented MONO_TRACE support
354
355 2002-05-27  Jonathan Pryor <jonpryor@vt.edu>
356   * Moved public API documentation for the following files to the
357     /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
358     - Debug.cs
359     - DefaultTraceListener.cs
360     - DiagnosticsConfigurationHandler.cs
361     - Switch.cs
362     - TextWriterTraceListener.cs
363     - Trace.cs
364     - TraceLevel.cs
365     - TraceListener.cs
366     - TraceListenerCollection.cs
367     - TraceSwitch.cs
368
369 2002-04-10  Jonathan Pryor <jonpryor@vt.edu>
370
371         * TraceListenerCollection.cs: Corrected indexer property to provide the
372                 correct return value and implement the IList indexer property correctly.
373
374 2002-04-07  Jonathan Pryor <jonpryor@vt.edu>
375
376         * TraceListener.cs: Fix stack overflow bug
377         * DefaultTraceListener.cs: Implement log file support
378
379 2002-04-04  Dick Porter  <dick@ximian.com>
380
381         * ThreadWaitReason.cs:
382         * ThreadState.cs:
383         * ThreadPriorityLevel.cs:
384         * ProcessWindowStyle.cs:
385         * ProcessThreadCollection.cs
386         * ProcessThread.cs:
387         * ProcessStartInfo.cs:
388         * ProcessModuleCollection.cs: Stub out more classes needed for Process
389
390 2002-03-31  Dick Porter  <dick@ximian.com>
391
392         * Process.cs: 
393         * ProcessPriorityClass.cs: 
394         * ProcessModule.cs: 
395         * FileVersionInfo.cs: Stub out classes needed for Process
396
397 2002-03-08  Jonathan Pryor <jonpryor@vt.edu>
398
399         * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which 
400                 is why TraceImpl.cs is introduced), "DEBUG" conditional support
401         * TraceListener.cs: Proper implementation of Dispose pattern;
402                 implementatino of non-abstract methods in terms of abstract methods
403         * TraceListenerCollection.cs: check 'object' types before adding
404         * TextWriterTraceListener.cs: properly implement Dispose pattern;
405                 handle NeedIndent and WriteIndent
406         * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
407                 support
408         * DefaultTraceListener.cs: new file; the default trace listener
409
410 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
411         * TraceListenerCollection.cs: Remove Warnings.
412
413 2002-01-06  Ravi Pratap  <ravi@ximian.com>
414         * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
415         with the MonoTODO attribute.
416
417 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
418         * Added Debug.cs to the build.
419
420 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
421         * Added preliminary TraceListenerCollection.cs to the build.
422
423 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
424         * Added TraceListener.cs, TextWriterTraceListener.cs, and
425         DefaultTraceListener.cs to the build and moved them into the
426         proper assembly.
427
428 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
429         * Added DiagnosticsConfigurationHandler.cs to the build.
430
431 2001-09-09  Nick Drochak <ndrochak@gol.com>
432         * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting
433         so that we can get OnSwitchSettingChanged() to fire for free.
434
435 2001-09-09  Nick Drochak <ndrochak@gol.com>
436         * ChangeLog: added this file
437         * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.