3f422418fdc7a33264b4acf04f4f9c1a370a0740
[mono.git] / mcs / class / System / System.Diagnostics / ChangeLog
1 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
2
3         * DefaultTraceListener.cs: TARGET_JVM
4
5 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6
7         * Process.cs: fix operation number to be 8. The other one was working
8         because the default is to wait for input on the file descriptor.
9
10 2006-09-05  Gert Driesen  <drieseng@users.sourceforge.net>
11
12         * Win32EventLog.cs: Removed workarounds for bug #79152 and bug #79117
13         now that these have been fixed. Release unmanaged memory that was
14         allocated for replacement strings.
15
16 2006-08-27  Gert Driesen  <drieseng@users.sourceforge.net>
17
18         * NullEventLog.cs: Added dummy GetLogNames implementation.
19         * EventLogImpl.cs: Moved GetEventLogs implementation to base class.
20         Added abstract GetLogNames method. Added ValidateCustomerLogName
21         method which should be called by eventlog providers when creating a
22         new log to ensure the significant part of the log name is unique, does
23         not match any of the special log names and does not match an exist event
24         source.
25         * Win32EventLog.cs: Validate customer log name when creating new log.
26         Moved GetEventLogs implementation to base class. Added GetLogNames
27         method.
28         * LocalFileEventLog.cs: Merged CreateLogStore into CreateEventSource.
29         Validate customer log name when creating new log. Moved GetEventLogs
30         implementation to base class. Added GetLogNames method.
31
32 2006-08-26  Gert Driesen  <drieseng@users.sourceforge.net>
33
34         * Win32EventLog.cs: Fixed error messages. Use RegisterEventSource
35         pinvoke when opening eventlog for writing entries.
36
37 2006-08-26  Gert Driesen  <drieseng@users.sourceforge.net>
38
39         * Win32EventLog.cs: Added and documented workarounds for bug #79117
40         and bug #79152.
41
42 2006-08-25  Gert Driesen  <drieseng@users.sourceforge.net>
43
44         * LocalFileEventLog.cs: When event log store does not exist, then we
45         do not need to perform a case-insensitive lookup of the log name.
46
47 2006-08-20  Gert Driesen  <drieseng@users.sourceforge.net>
48
49         * EventLog.cs: Removed namespace import.
50         * EventInstance.cs: Added range checks and check whether specified
51         entry type is defined.
52
53 2006-08-20  Gert Driesen  <drieseng@users.sourceforge.net>
54
55         * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
56         Obsolete attribute to correct property.
57         * EventSourceCreationData.cs: Updated copyright. For internal ctor,
58         set log name to "Application" if value is null or zero-length string.
59         * EventLogImpl.cs: EventImpl now acts as base class for event log 
60         implemenations.
61         * NullEventLog.cs: Modified to implement new abstract methods of base
62         class. Removed factory class.
63         * EventLog.cs: EventLog implementation that delegates just about 
64         everything to individual eventlog providers. To specify the event log
65         implementation to use, the MONO_EVENTLOG_TYPE environment variable can
66         be used. Possible values are:
67         - win32 : read/write entries using the native win32 eventlog
68         - local[:path] : read/write entries as files to a local directory
69         - null : silently ignore all entries
70         The default is "null" on unix (and versions of Windows before NT,
71         meaning Windows 98, ...), and "win32" on Windows NT (and higher).
72         When "the local" implementation is used, the directory in which to 
73         store the event logs, event sources and entries can be specified as 
74         part of MONO_EVENTLOG_TYPE environment variable using the syntax 
75         "local:<path>" (eg. local:/home/myuser/mono/eventlog).
76         * LocalFileEventLog.cs: Event log implementation which uses a local
77         file store. The directory to use for persistence can be specified
78         as part of the MONO_EVENTLOG_TYPE environment variable (see above).
79         If that directory is not explicitly set, then the following directory
80         will be used for storing eventlog entries:
81         - windows       : %APPDATA%\mono\eventlog
82         - unix          : /var/lib/mono/eventlog
83         On unix, the directory permission for individual eventlog log 
84         directories will be set to 777 (with +t bit) allowing everyone to
85         read and write eventlog entries while only allowing entries to be
86         deleted by the user(s) that created them.
87         Format of log files was modified to allow it contain all necessary
88         information for an event log entry.
89         * Win32EventLog.cs: Event log implementation for Windows NT and 
90         higher which uses the Win32 native event log for reading/writing
91         eventlog entries, and which uses the registry to store event log and
92         event source registration information.
93         * EventLogEntryCollection.cs: Delegate implementation to event log
94         implementation. Use lazy init for enumerating entries. Cache current
95         item in 2.0 profile.
96
97 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
98
99         * LocalFileEventLog.cs : change lengthy environment variable name.
100           MONO_LOCAL_EVENTLOG_PATH -> MONO_EVENTLOG_PATH.
101
102 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
103
104         * EventLogImpl.cs, EventLogEntryCollection.cs, EventLog.cs :
105           some rework to support actual event log implementations.
106         * NullEventLog.cs, LocalFileEventLog.cs :
107           new files. The former (default) implementation does nothing for
108           any event log features. The latter implements local file based
109           event logs.
110
111 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
112
113         * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
114           EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
115           EventLog.cs:
116           Reverted previous two changes that does not work at all.
117
118 2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
119
120         * EventLog.cs: For now, Use null implementation.
121
122 2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
123
124         * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
125         Obsolete attribute to correct property.
126         * EventSourceCreationData.cs: Updated copyright. For internal ctor,
127         set log name to "Application" if value is null or zero-length string.
128         * EventLogImpl.cs: EventImpl now acts as base class for event log 
129         implemenations. Added NullEventLog implementation, which is not used
130         at the moment.
131         * EventLog.cs: EventLog implementation that uses registry for
132         keeping track of logs and sources to match .NET (and Windows). When
133         running on Windows NT (and higher), event entries are written to
134         the native win32 event log.  Reading event entries is not yet working
135         for Windows. On linux, we use a local file store (based on patch by 
136         Atsushi).
137         * UnixEventLog.cs: Event log implementation for linux which uses a
138         local file store.
139         * Win32EventLog.cs: Event log implementation for Windows NT and 
140         higher which uses the Win32 native event log.
141         * EventLogEntryCollection.cs: Delegate implementation to event log
142         implemenation. Use lazy init for enumerating entries.
143
144 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
145
146         * Process.cs: reset the 'start' time if we wait for stdout reading to
147         be completed.
148
149 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
150
151         * Process.cs: add support for 2.0 asynchronous reads on stdout and
152         stderr.
153
154 2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
155
156         * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
157         Throw ArgumentOutOfRangeException if negative value for CategoryCount
158         is set.
159
160 2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
161
162         * EventInstance.cs: Added 2.0 class.
163         * EventSourceCreationData.cs: Added 2.0 class.
164         * OverflowAction.cs: Added 2.0 enum.
165
166 2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>
167
168         * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
169         * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
170         * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
171         an imperative demand for FileIOPermission.Read on GetVersionInfo 
172         method. Change ToString method to use a StringBuilder.
173         * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
174         class.
175         * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on 
176         class. Add [Obsolete] for NET_2_0 profile.
177         * Process.cs: Add a linkdemand and an inheritancedemand for 
178         unrestricted on class.
179         * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
180
181 2006-07-16  Andrew Skiba <andrews@mainsoft.com>
182
183         * Process.cs: throw FileNotFoundException earlier; give more
184         diagnostics.
185
186 2006-05-16  Dick Porter  <dick@ximian.com>
187
188         * Process.cs: Dispose the handle from a destructor too
189
190 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * Stopwatch.cs:
193           Zoltan was quicker to add it, here I put my implementation ;-)
194         * Process.cs :
195           Added some missing long members (not implemented anyways).
196         * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
197           added new 2.0 types.
198
199 2006-04-01  Zoltan Varga  <vargaz@gmail.com>
200
201         * Stopwatch.cs: New file.
202
203 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
204
205         * Debug.cs: Add net 2.0 Print methods.
206
207 2006-03-03  Dick Porter  <dick@ximian.com>
208
209         * Process.cs: Close redirected pipes on errors.  Fixes bug 77514.
210
211 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
212
213         * ConsoleTraceListener.cs: New 2.0 class
214
215 2005-11-17  Dick Porter  <dick@ximian.com>
216
217         * Process.cs: Split Start_common into Start_shell and
218         Start_noshell, which call ShellExecuteEx and CreateProcess
219         respectively.  Fixes bug 76670.
220
221 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
222
223         * Process.cs: deal with the fact that someone can enable raising events
224         and/or registed a Exited delegate before and *after* Start is called for
225         the process. Only queue the exit callback in the threadpool when it's
226         possible and requested. Fixes bug #76129.
227
228 2005-08-09  Gert Driesen <drieseng@users.sourceforge.net>
229
230         * EventLog.cs: Fixed Designer attribute to match MS.NET.
231         * ICollectData.cs: Added marshalling attribute to match MS.NET.
232         * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
233         * Process.cs: Fixed Designer attribute to match MS.NET, modified
234         * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
235         * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
236         DesignerSerializationVisibility on StartInfo to match MS.NET, changed
237         Category attribute on Exited event to match MS.NET.
238
239 2005-06-09  Gert Driesen <drieseng@users.sourceforge.net>
240
241         * TraceImpl.cs: Adjust internal indentlevel and indentsize before 
242         passing on to listeners. Fixes some test failures.
243
244 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
245
246         * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
247         runtime uses MONO_TRACE too...
248
249 2005-05-31  Sebastien Pouliot  <sebastien@ximian.com>
250
251         * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
252         machine names and PerformanceCounterPermissionAccess.
253
254 2005-02-22 Jonathan Pryor  <jonpryor@vt.edu>
255
256         * TraceImpl.cs: More Thread-safety fixes.  I have to lock on
257           Listeners.SyncRoot as we're traversing the collection and can't let the
258           collection change from underneath us while we're iterating over it
259           (alternately, we could clone the collection and iterate over the clone
260           without having locking issues -- assuming we had a lock-free clone -- 
261           but this would kill the GC).  Fixes 69964.  Only define lock_ if we're 
262           using the lock-free initialization routine; it's not used otherwise.
263
264 2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
265
266         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): 
267           Use a lock-free algorithm for creating the settings information.
268         * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
269           listeners collection and initializing the world.
270
271 2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
272
273         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't 
274           read the .config file from the static ctor (again), as if it fails we'll 
275           get a TypeLoadException -- bad!  Instead, lazy-read the .config file.
276         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler): 
277           Require that the /switch/add/@value attribute contains only numeric values.
278         * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
279           fails (due to an invalid .confg file) we get a TypeLoadException, while
280           .NET generates a ConfigurationException.  Instead, initialize everything
281           the first time the Listeners property is accessed, which allows the static
282           ctor to run without chance of failure, avoiding the TypeLoadException.
283         * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
284           from a static member of TraceImpl (available through the public Debug and 
285           Trace classes).
286         * Switch.cs: Leave the original switch value alone.  If it isn't valid 
287           (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
288
289 2005-01-17 Jonathan Pryor  <jonpryor@vt.edu>
290
291         * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute 
292           isn't optional under .NET 1.1, so make sure it exists.
293
294 2005-01-13 Jonathan Pryor  <jonpryor@vt.edu>
295
296         * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
297           thread-safe (double-checked locking isn't thread safe on .NET without
298           using a volatile variable, and setting the variable in the static
299           constructor is easier anyway).
300         * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
301           attribute value to the string "0".  This is apparently what .NET 1.1 does,
302           and allows the SwitchTest NUnit test to work w/o failures.
303
304 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
305
306         * Process.cs: always pass the same arguments to the runtime.
307
308 2004-09-11  Sebastien Pouliot  <sebastien@ximian.com>
309
310         * EventLogPermission.cs: Completed implementation.
311         * EventLogPermissionAccess.cs: Fixed enum values.
312         * EventLogPermissionEntry.cs: Added validation for machine names.
313         * EventLogPermissionEntryCollection.cs: Added synchronization
314         of entries with the base permission class.
315         * PerformanceCounterPermission.cs: Completed implementation.
316         * PerformanceCounterPermissionAccess.cs: Fixed enum values.
317         * PerformanceCounterPermissionEntry.cs: Added validations for machine
318         and category names.
319         * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
320         of entries with the base permission class.
321
322 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
323
324         * EventLogPermission.cs: Fixed initialization (TagNames and
325         PermissionAccessType).
326         * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added 
327         [Obsolete] to some existing elements.
328         * EventLogPermissionAttribute.cs: Added missing validation to property
329         MachineName. Fixed changes for NET_2_0.
330         * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
331         PermissionAccessType).
332         * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
333         and added [Obsolete] to some existing elements.
334         * PerformanceCounterPermissionAttribute.cs: Added missing validations
335         to properties (Path, MachineName). Fixed changes for NET_2_0.
336
337 2004-09-07  Dick Porter  <dick@ximian.com>
338
339         * Process.cs: Throw documented exceptions when getting stdin,
340         stdout or stderr and they haven't been redirected.  Check that
341         CreatePipe didn't fail, throw exceptions if it did.  Close
342         redirected streams when the process is disposed, rather than rely
343         on the GC disposing them later.  Makes timeline much happier,
344         because it could run out of file descriptors between GC
345         collections.
346
347 2004-09-06  Dick Porter  <dick@ximian.com>
348
349         * Process.cs: Make Dispose() actually dispose things.
350
351 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * Process.cs : quick fix for UseShellExecute=false on windows. See
354           the code comment.
355
356 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
357
358         * Process.cs: Added missing check in HasExited property.
359
360 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
361
362         * EventLogPermissionAttribute.cs:
363         * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
364         and Inherited to match .NET
365
366 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
367
368         * Process.cs: separate the command and the arguments when calling
369         Start_internal.
370
371 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
372
373         * Process.cs: redirecting I/O is not permitted if UseShellExecute is
374         true. Also throw if FileName is null.
375
376 2004-04-06  Lluis Sanchez Gual  <lluis@ximian.com>
377
378         * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
379         use the constructor that only takes one string as parameter to
380         construct the listener. The name is set using the Name property, not the
381         constructor.
382         
383         * TextWriterTraceListener.cs: In Write*, do nothing if no writer was 
384         provided.
385
386 2004-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
387
388         * Process.cs: use the ISynchronizeInvoke object to invoke the event.
389         Implemented Close, CloseMainWindow and Kill.
390
391 2004-03-23 Ben Maurer  <bmaurer@users.sourceforge.net>
392
393         * Switch.cs: Don't throw when there is no switches section.
394
395 2004-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
396
397         * Process.cs: support EnableRaisingEvents + Exited event.
398
399 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
402         timeout is int.MaxValue.
403
404 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
405
406         * Process.cs: added environment variables setting support and also
407         send useShellExecute to the runtime.
408
409         * ProcessStartInfo.cs: support EnvironmentVariables.  MS uses
410         StringDictionary, which turns keys into lowercase. We don't do that.
411
412 2004-02-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
413
414         * Process.cs: ExitCode and ExitTime check that the process is finished.
415
416 2003-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
417
418         * Process.cs: if there's an error when starting the process, the 'pid'
419         field contains the GetLastError code. Use that for the Win32Exception.
420
421 2003-12-06  Martin Baulig  <martin@ximian.com>
422
423         * DefaultTraceListener: Don't use `where' in variable names.
424
425 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
426
427         * ICollectData.cs: Fixed signature
428
429 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
430
431         * ICollectData.cs: Added missing attribute
432
433 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
434
435         * SRDescriptionAttribute.cs: Moved to System directory
436
437 2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
438
439         * EventLog.cs: Implementation handling
440         * EventLogImpl.cs: Added, contains an platform independent empty implementation
441         for EventLog
442
443 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
444
445         * AlphabeticalEnumConverter.cs: Added
446         * EventLogEntry.cs: Implemented
447         * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
448         * EventLogTraceListener.cs: Fixed signature
449         * PerformanceCounter.cs: Added missing attribute
450         * PerformanceCounterType.cs: Added missing attribute
451         * SRDescriptionAttribute.cs: Added and implemented
452
453 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
454
455         * CounterCreationData.cs:
456         * EventLog.cs:
457         * EventLogEntry.cs:
458         * PerformanceCounter.cs:
459         * Process.cs:
460         * ProcessModule.cs:
461         * ProcessStartInfo.cs:
462         * ProcessThread.cs: Reworked attributes based on the new Consts scheme
463
464 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
465
466         * PerformanceCounterCategory.cs: Fixed signatures
467
468 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
469
470         * PerformanceCounter.cs: Implemented or implementation added
471
472 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
473
474         * DiagnosticsConfigurationHandler.cs: Removed a never used variable
475         * EventLog.cs: Small update to prevent a warning
476         * EventLogPermission.cs: Implemented or implementation added
477         * EventLogPermissionAttribute.cs: Implemented or implementation added
478         * EventLogPermissionEntry.cs: Implemented or implementation added
479         * EventLogPermissionEntryCollection.cs: Implemented or implementation added
480         * EventLogTraceListener.cs: Implemented or implementation added
481         * PerformanceCounterManager.cs: Implemented or implementation added
482         * PerformanceCounterInstaller.cs: Made internal
483         * PerformanceCounterCategory.cs: Implemented few members
484         * PerformanceCounterPermission.cs: Implemented or implementation added
485         * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
486         * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
487         * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
488         
489 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
490
491         * EventLog.cs: Removed unneccesary attribute according to corecompare
492         * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
493         * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
494         * ProcessModule.cs: Removed unneccesary attribute according to corecompare
495         * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
496         * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
497
498 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
499
500         * InstanceDataCollectionCollection.cs: Corrected wrong signature
501         * EventLog.cs: Missing attributes added, redirected some class members
502         * EventLogEntry.cs: Missing attributes added
503         * EventLogInstaller.cs: Made internal
504         
505 2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
506
507         * CounterCreationData.cs: Added missing attributes
508         * CounterSample.cs: Implemented missing rest, fixed signature
509         * CounterSampleCalculator.cs: Added private constructor, redirected function
510         * Process.cs: Added attributes, added event mechanism
511         * ProcessModule.cs: Added missing attributes
512         * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
513         * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
514         * ProcessThread.cs: Added missing attributes, added pseudo constructor
515         * ProcessThreadCollection.cs: Implemented
516         * PerformanceCounterPermission.cs: Fixed typo in class name
517         * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
518         
519 2003-03-19  Dick Porter  <dick@ximian.com>
520
521         * Process.cs: Implement HasExited, fixes bug 39267
522
523 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
524
525         * Process.cs: throw an exception when the executable cannot be found.
526
527 2002-12-20  Jonathan Pryor <jonpryor@vt.edu>
528         * DiagnosticsConfigurationHandler.cs: 
529           - Don't assume that optional attributes are always present
530           - <assert/> can't have any child nodes
531           - Change in semantics: if the attribute isn't present,
532             GetAttribute() returns null, not "".  This allows us to
533             differentiate between an attribute not being present and an
534             attribute with an empty value.
535           - Translate exceptions if a TraceListener type is invalid
536
537 2002-12-19  Jonathan Pryor <jonpryor@vt.edu>
538         * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be 
539           hardcoded; they should be set to whatever TraceImpl is using (which
540           in turn may have been set by the .config file, so we should get the
541           user-specified values in added listeners).
542         * TraceListener.cs: Make sure that indents are initially written.  This 
543           allows code that uses Trace.Indent() before a Trace.WriteLine() to be 
544           indented properly.
545         * TraceImpl.cs: provide a static constructor to explicitly specify the
546           ordering of initialization, in particular the ordering of
547           TraceImpl.Listeners and the reading of the .config file (by
548           accessing DiagnosticsConfiguration.Settings).  This (hopefully)
549           ensures that the Listeners collection is initialized before the
550           .config file is read in, as the DiagnosticsConfigurationHandler will
551           directly modify the listeners collection.
552           The DiagnosticsConfigurationHandler assumes this so that it can
553           <add/> and <remove/> trace listeners and set the logfile for the
554           DefaultTraceListener.
555
556
557 2002-12-18  Jonathan Pryor <jonpryor@vt.edu>
558         * BooleanSwitch.cs: Complete re-write.  It works now.
559         * DefaultTraceListener.cs:
560           - Use `const' strings, so I don't worry about copy/paste errors
561           - Give `AssertUiEnabled' an actual backing member
562         * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
563           configuration handler set .config-specified properties on
564           DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
565           (AutoFlush, IndentSize).
566         * Switch.cs: Near complete re-write.  Actually works, and is (should be)
567           comformant with .NET behavior.  Changed member names because they
568           were confusing me.  (Yes, that doesn't say much about my memory.)
569         * TextWriterTraceListener.cs: Append text to already existing files,
570           don't overwrite them.
571         * TraceImpl.cs:
572           - Added private destructor, to ensure no instances are created.
573           - Move members declarations to be closer to each other.
574         * TraceSwitch.cs: Complete re-write.  It works now.
575
576 2002-12-17  Jonathan Pryor <jonpryor@vt.edu>
577         * DiagnosticsConfigurationHandler.cs: Implement so that .config files
578         support <system.diagnostics> sections.
579
580 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
581
582         * DefaultTraceListener.cs: now OutputDebugStringW is called from an
583         internal call (update your runtime!). No more warnings in linux.
584
585 2002-10-31  Dick Porter  <dick@ximian.com>
586
587         * Process.cs: MonoIO methods now have an error parameter
588
589 2002-10-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
590
591         * DefaultTraceListener.cs: changed OutputDebugString to
592         OutputDebugStringW (no more warnings under windows). Also a few style
593         fixes.
594
595 2002-10-23  Dick Porter  <dick@ximian.com>
596
597         * Process.cs: Redirected standard input needs to have AutoFlush set
598
599 2002-09-27  Dick Porter  <dick@ximian.com>
600
601         * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
602         ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
603         Pass the working directory to Start.  Pass the program and args in
604         one string to be used with the second arg of CreateProcess, so it
605         will search the path.
606
607 2002-09-19  Nick Drochak <ndrochak@gol.com>
608
609         * TraceImpl.cs: Remove debug prints
610
611 2002-09-19  Nick Drochak <ndrochak@gol.com>
612
613         * TraceListenerCollection.cs: Set Indet level and size to default 
614         values.  The values from TraceImpl might have been changed.
615
616 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
617
618         * Process.cs:
619         * TextWriterTraceListener.cs: IDisposable fixes.
620
621 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
622
623         * Process.cs: class status based fixes.
624
625 2002-07-20  Dick Porter  <dick@ximian.com>
626
627         * Process.cs: Implement file handle redirection
628
629 2002-07-13  Jonathan Pryor <jonpryor@vt.edu>
630         * CounterCreationData.cs: Implemented
631         * CounterCreationDataCollection.cs: Implemented
632         * CounterSample.cs: Stubbed Out
633         * CounterSampleCalculator.cs: Stubbed Out
634         * InstanceData.cs: Implemented
635         * InstanceDataCollection.cs: Implemented
636         * InstanceDataCollectionCollection.cs: Implemented
637         * MonitoringDescriptionAttribute.cs: Implemented
638         * PerformanceCounter.cs: Stubbed Out
639         * PerformanceCounterCategory.cs: Stubbed Out
640         * PerformanceCounterInstaller.cs: Stubbed Out
641         * PerformanceCounterManager.cs: Stubbed Out
642         * PerformanceCounterPermission.cs: Stubbed Out
643         * PerformanceCounterPermissionAccess.cs: Implemented
644         * PerformanceCounterPermissionAttribute.cs: Stubbed Out
645         * PerformanceCounterPermissionEntry.cs: Stubbed Out
646         * PerformanceCounterPermissionEntryCollection.cs: Implemented
647         * PerformanceCounterType.cs: Implemented
648
649
650 2002-06-25  Dick Porter  <dick@ximian.com>
651
652         * Process.cs: Process forking and waiting, and some support functions
653
654         * ProcessStartInfo.cs: Implemented the bits needed for basic
655         Process forking
656
657         * ProcessModule.cs: Implemented
658
659         * ProcessModuleCollection.cs: Mostly implemented
660
661         * FileVersionInfo.cs: Implemented
662
663 2002-06-16  Jonathan Pryor <jonpryor@vt.edu>
664         * ICollectData.cs: Implemented
665         * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
666                 corresponding properties on all current TraceListeners.
667                 Also, to answer the FIXME message: Yes, the properties in TraceListener
668                 need to be [ThreadStatic] as well.
669         * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
670                 should have its properties set to the current TraceImpl property values.
671         * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
672
673 2002-06-09  Jonathan Pryor <jonpryor@vt.edu>
674         * EntryWrittenEventArgs.cs: Implemented
675         * EntryWrittenEventHandler.cs: Implemented
676         * EventLog.cs: Stubbed out
677         * EventLogEntry.cs: Stubbed out
678         * EventLogEntryCOllection.cs: Implemented.
679         * EventLogEntryType.cs: Implemented
680         * EventLogInstaller.cs: Stubbed out
681         * EventLogPermission.cs: Stubbed out
682         * EventLogPermissionAccess.cs: Implemented
683         * EventLogPermissionAttribute.cs: Stubbed out
684         * EventLogPermissionEntry.cs: Stubbed out
685         * EventLogPermissionEntryCollection.cs: Stubbed out
686         * EventLogTraceListener.cs: Stubbed out
687
688 2002-05-29  Jonathan Pryor <jonpryor@vt.edu>
689   * DefaultTraceListener.cs: Implemented MONO_TRACE support
690
691 2002-05-27  Jonathan Pryor <jonpryor@vt.edu>
692   * Moved public API documentation for the following files to the
693     /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
694     - Debug.cs
695     - DefaultTraceListener.cs
696     - DiagnosticsConfigurationHandler.cs
697     - Switch.cs
698     - TextWriterTraceListener.cs
699     - Trace.cs
700     - TraceLevel.cs
701     - TraceListener.cs
702     - TraceListenerCollection.cs
703     - TraceSwitch.cs
704
705 2002-04-10  Jonathan Pryor <jonpryor@vt.edu>
706
707         * TraceListenerCollection.cs: Corrected indexer property to provide the
708                 correct return value and implement the IList indexer property correctly.
709
710 2002-04-07  Jonathan Pryor <jonpryor@vt.edu>
711
712         * TraceListener.cs: Fix stack overflow bug
713         * DefaultTraceListener.cs: Implement log file support
714
715 2002-04-04  Dick Porter  <dick@ximian.com>
716
717         * ThreadWaitReason.cs:
718         * ThreadState.cs:
719         * ThreadPriorityLevel.cs:
720         * ProcessWindowStyle.cs:
721         * ProcessThreadCollection.cs
722         * ProcessThread.cs:
723         * ProcessStartInfo.cs:
724         * ProcessModuleCollection.cs: Stub out more classes needed for Process
725
726 2002-03-31  Dick Porter  <dick@ximian.com>
727
728         * Process.cs: 
729         * ProcessPriorityClass.cs: 
730         * ProcessModule.cs: 
731         * FileVersionInfo.cs: Stub out classes needed for Process
732
733 2002-03-08  Jonathan Pryor <jonpryor@vt.edu>
734
735         * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which 
736                 is why TraceImpl.cs is introduced), "DEBUG" conditional support
737         * TraceListener.cs: Proper implementation of Dispose pattern;
738                 implementatino of non-abstract methods in terms of abstract methods
739         * TraceListenerCollection.cs: check 'object' types before adding
740         * TextWriterTraceListener.cs: properly implement Dispose pattern;
741                 handle NeedIndent and WriteIndent
742         * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
743                 support
744         * DefaultTraceListener.cs: new file; the default trace listener
745
746 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
747         * TraceListenerCollection.cs: Remove Warnings.
748
749 2002-01-06  Ravi Pratap  <ravi@ximian.com>
750         * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
751         with the MonoTODO attribute.
752
753 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
754         * Added Debug.cs to the build.
755
756 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
757         * Added preliminary TraceListenerCollection.cs to the build.
758
759 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
760         * Added TraceListener.cs, TextWriterTraceListener.cs, and
761         DefaultTraceListener.cs to the build and moved them into the
762         proper assembly.
763
764 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
765         * Added DiagnosticsConfigurationHandler.cs to the build.
766
767 2001-09-09  Nick Drochak <ndrochak@gol.com>
768         * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting
769         so that we can get OnSwitchSettingChanged() to fire for free.
770
771 2001-09-09  Nick Drochak <ndrochak@gol.com>
772         * ChangeLog: added this file
773         * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.