1 2010-01-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
3 * Stopwatch.cs: add new Restart().
5 2009-11-30 Sebastien Pouliot <sebastien@ximian.com>
7 * Debug_2_1.cs: Change type to sealed to match SL2/3
9 2009-10-12 Zoltan Varga <vargaz@gmail.com>
11 * Process.cs (Dispose): Close the async output/error readers. Fixes #545429.
13 2009-07-22 Jb Evain <jbevain@novell.com>
15 * ProcessStartInfo.cs: force no-verb on MONOTOUCH.
17 2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
19 * ProcessStartInfo.cs: HaveEnvVars is enabled by just using the
20 EnvironmentVariables property. Bug #520650 fixed.
22 2009-05-12 Jonathan Pryor <jpryor@novell.com>
24 * DiagnosticsConfigurationHandler.cs: Use the new
25 TraceSourceInfo(string, SourceLevels, TraceImplSettings) constructor.
26 * TraceSourceInfo.cs: Add a new constructor,
27 TraceSourceInfo(string, SourceLevels, TraceImplSettings), which adds
28 the DefaultTraceListener w/o depending upon (the possibly still
29 initializing) TraceImpl members. Fixes #502944.
31 2009-05-01 Jonathan Pryor <jpryor@novell.com>
33 * DiagnosticsConfigurationHandler.cs: Don't refer to TraceImpl member
34 while reading the .config file, instead cache the values and refer
35 to the cached values during initialization. This prevents recursive
36 initialization calls (Trace.OnInit() ... Trace.Listeners.Add() ...
37 Trace.OnInit() ...), and associated duplicate parsing of .config file
38 sections. Fixes bnc#499442.
39 * TraceImpl.cs: Cope with DiagnosticsConfigurationHandler changes.
40 * TraceListenerCollection.cs: Add internal
41 Add(TraceListener,TraceImplSettings) method for adding
42 TraceListeners during DiagnosticsConfigurationHandler initialization
43 (which can't access TraceImpl, as we may still be reading the
44 .config file to determine the TraceImpl values).
46 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
48 * ConsoleTraceListener.cs: add an internal constructor that takes a
49 string argument. Used when 'initializeData' is set.
50 * DiagnosticsConfigurationHandler.cs: try internal constructors when
51 the assembly is System.
54 2009-04-19 Miguel de Icaza <miguel@novell.com>
56 * Process.cs: Do not crash if GetProcesses_internal returns null
57 This happens on operating systems where we have not implemented
58 EnumProcesses in the io-layer, see bug 496294.
60 2009-02-24 Andrés G. Aragoneses <aaragoneses@novell.com>
62 * Process.cs: Throw IOEs instead of normal exceptions.
65 2009-01-22 Zoltan Varga <vargaz@gmail.com>
67 * Stopwatch.cs: Reorder the calculations in Elapsed and ElapsedMilliseconds
68 to avoid overflow. Fixes #468570. Patch by Yoni Shalom <silver83@gmail.com>.
70 2009-01-18 Zoltan Varga <vargaz@gmail.com>
72 * Process.cs: Avoid closing the duplicated process handle in
73 ProcessWaitHandle, it is done automatically by the WaitHandle.Dispose ().
76 2008-12-09 Christian Hergert <christian.hergert@gmail.com>
78 * CounterCreationData.cs: CounterHelp defaults to String.Empty.
80 2008-11-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
82 * PerformanceCounter.cs: add 2 workarounds for known problems. I will
83 add the corresponding test cases later.
85 2008-11-13 Bill Holmes <billholmes54@gmail.com>
87 * Process.cs : Adding an implementation for WaitForInputIdle
88 to call the an internal call. The internal call is only
89 implemented properly on Windows.
91 Code is contributed under MIT/X11 license.
93 2008-11-06 Jonathan Chambers <joncham@gmail.com>
95 * Process.cs : Use DuplicateHandle when redirecting
96 StdInput and StdOutput. Fixes bug #436291.
98 Mon Oct 13 14:39:52 CEST 2008 Paolo Molaro <lupus@ximian.com>
100 * Process.cs: added icall and implementation of many memory-related
101 query methods (bug #434473).
103 2008-09-20 Gert Driesen <drieseng@users.sourceforge.net>
105 * PerformanceCounter.cs:
107 * TraceImpl.cs: Fixed line endings.
109 2008-09-20 Gert Driesen <drieseng@users.sourceforge.net>
111 * DiagnosticsConfigurationHandler.cs (AddTraceAttributes): Avoid
112 wrapping configuration errors thrown during initialization of
113 TraceImpl. Fixed line endings.
115 2008-09-18 Paolo Molaro <lupus@ximian.com>
117 * CounterSampleCalculator.cs: added more calculated types.
118 * PerformanceCounter.cs: NextValue() works as well as RawValue.
120 2008-09-10 Bill Holmes <billholmes54@gmail.com>
122 * Process.cs : Update the fields of ProcessAsyncReader to
123 match MonoSocketAsyncResult metadata/socket-io.h
125 Contributed under MIT/X11 license.
127 2008-09-09 Jonathan Pryor <jpryor@novell.com>
130 - Remove the "lock-free" code, which (come to think of it) would be
131 faulty in a multithreaded environment anyway because the "other"
132 threads won't wait (block) until initialization is complete...
133 - Add InitOnce() calls to all public properties, so that
134 `Debug.AutoFlush=true' will cause InitOnce() to be loaded, lest
135 a `Debug.AutoFlush=true; Debug.Listeners.Add(...)` sequence cause
136 .AutoFlush=true to be ignored as the InitOnce implied by .Add()
137 will "overwrite" the .AutoFlush.
138 - Split up TraceListenerCollection creation from DefaultTraceListener
139 addition, as TraceListenerCollection.Add() calls back into
140 TraceImpl, so if these aren't separate we get an infinite loop
141 and never actually initialize anything.
143 * TraceListenerCollection.cs: Add a TraceListenerCollection(bool)
144 constructor, which provides a way to NOT add the
145 DefaultTraceListener (needed by TraceImpl; see above).
147 2008-08-06 Sebastien Pouliot <sebastien@ximian.com>
149 * Debug_2_1.cs: Add missing [Conditional] attributes.
151 2008-08-02 Gert Driesen <drieseng@users.sourceforge.net>
153 * DelimitedTraceListener.cs: Changed accessibility of
154 GetSupportedAttributes to protected internal.
155 * DiagnosticsConfigurationHandler.cs: Use GetSupportedAttributes to
156 allow custom attributes on tracelisteners. Fixes bug #413203.
157 * TraceListener.cs: Changed accessibility of GetSupportedAttributes
158 to protected internal. Removed MonoTODO on GetSupportedAttributes and
159 Attributes. Fixed line endings.
161 2008-08-01 Paolo Molaro <lupus@ximian.com>
163 * CounterCreationData.cs, PerformanceCounterCategory.cs: more
164 checks and default type fix.
166 2008-07-28 Dick Porter <dick@ximian.com>
168 * Process.cs: When passing handle references around, it needs to
169 be duplicated and freed so the OS doesn't close it. Makes the
170 testcase in 410743 work again now the underlying bug has been
173 2008-07-27 Zoltan Varga <vargaz@gmail.com>
175 * Process.cs (SetExitCallbackIfNeeded): Avoid a race condition by not
176 checking for HashExited.
178 2008-06-27 Atsushi Enomoto <atsushi@ximian.com>
180 * DiagnosticsConfigurationHandler.cs: quick build fix (hopefully).
182 2008-06-26 Gert Driesen <drieseng@users.sourceforge.net>
184 * DiagnosticsConfigurationHandler.cs: On 2.0 profile, throw
185 ConfigurationErrorsException when any attribute other than 'Name'
186 is found when referencing a shared listener. Fixes bug #404054.
187 Added support for the traceOutputOptions attribute on 2.0 profile.
190 2008-06-21 Robert Jordan <robertj@gmx.net>
192 * Process.cs (Start_common): UserName may be null or empty.
195 2008-06-19 Dick Porter <dick@ximian.com>
197 * Process.cs: Match the buffer sizes of StreamReader and
198 MonoSyncFileStream for redirected stdout and stderr. Fixes bug
201 2008-05-02 Zoltan Varga <vargaz@gmail.com>
203 * TraceImpl.cs: Update the IndentLevel property of this class when Indent ()
204 or Unindent () are called. Fixes #385666.
206 2008-03-26 Dick Porter <dick@ximian.com>
208 * FileVersionInfo.cs: Patch from Gert Driesen
209 (gert.driesen@pandora.be) for bug 355717.
211 2008-03-19 Zoltan Varga <vargaz@gmail.com>
213 * Stopwatch.cs: Fix visibility of GetTimestamp () method.
215 Thu Feb 28 19:52:30 CET 2008 Paolo Molaro <lupus@ximian.com>
217 * CounterCreationData.cs, PerformanceCounterCategory.cs,
218 PerformanceCounter.cs: bugfixes, icalls for categories,
219 more methods implemented.
221 Wed Feb 27 20:00:04 CET 2008 Paolo Molaro <lupus@ximian.com>
223 * CounterSample.cs, CounterSampleCalculator.cs, PerformanceCounter.cs,
224 PerformanceCounterCategory.cs, PerformanceCounterCategoryType.cs:
225 beginning of the performance counter implementation.
227 Tue Feb 26 18:37:13 CET 2008 Paolo Molaro <lupus@ximian.com>
229 * Stopwatch.cs: use an hires monotonic clock.
231 2008-01-23 Gert Driesen <drieseng@users.sourceforge.net>
233 * FileVersionInfo.cs (GetVersionInfo): Resolve filename to absolute
234 path, and throw FileNotFoundException if it does not exist.
236 2007-12-22 Gert Driesen <drieseng@users.sourceforge.net>
238 * Process.cs: In PriorityClass setter, first check whether value is
239 valid and remove LAMESPEC since the documentation has been corrected
240 for .NET 3.5. Code formatting.
242 2007-12-19 Dick Porter <dick@ximian.com>
244 * Process.cs: Check that the process has been started before
245 getting or setting the priority class. Fixes bug 348415.
247 2007-12-10 Miguel de Icaza <miguel@novell.com>
249 * DefaultTraceListener.cs: By default set the AssertUiEnabled to
250 false, as this is what we had previously and some broken
251 applications (Tomboy) are too trigger happy with Debug.Assert.
253 Also, we now load the Windows.Forms code on demand, instead of
254 preloading it on the static ctor to reduce memory usage.
256 2007-12-08 Gert Driesen <drieseng@users.sourceforge.net>
258 * LocalFileEventLog.cs: To allow entry to be fully written before
259 attempting to read it, added small sleep period in the Created event
262 2007-12-04 Gert Driesen <drieseng@users.sourceforge.net>
264 * Process.cs: Modified StartInfo to throw ArgumentNullException when
265 value is set to null, instead of ArgumentException. Remove check if
266 file name is rooted and exists when UseShellExecute is false, and let
267 runtime handle this. Fixes bug #3455655. When a process cannot be
268 started, do not access ProcessStartInfo.EnvironmentVariables since that
269 would not allow us to re-use the instance when changing
270 UseShellExecute. Added argument check in Start (ProcessStartInfo).
273 2007-11-16 Jb Evain <jbevain@novell.com>
275 * Debug_2_1.cs: simply write debug messages to the
278 2007-11-15 Dick Porter <dick@ximian.com>
280 * Process.cs: Pass the process handle to GetModules_internal();
282 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
284 * Process.cs : ... and it exposed some missing attributes.
286 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
288 * Process.cs : oops, SessionId was int.
290 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
292 * Process.cs : added missing SessionId (NIE).
294 2007-10-30 Robert Jordan <robertj@gmx.net>
296 * Process.cs: Wrap the redirected streams with a stream
297 that provides real async Begin/Read|Write operations.
300 2007-09-25 Miguel de Icaza <miguel@novell.com>
302 * Process.cs: Return an empty collection to prevent crashes;
305 Tue Sep 25 18:03:37 CEST 2007 Paolo Molaro <lupus@ximian.com>
307 * Process.cs: eliminate the console encoding logic which was
308 duplicated from System.Console and just use Console.Out.Encoding
311 2007-09-21 Gert Driesen <drieseng@users.sourceforge.net>
313 * DiagnosticsConfigurationHandler.cs: Rename ValidateIntegralValue
314 to GetSwitchValue. On 2.0 profile, leave the type conversion to
315 Switch implementations. Minor corrections to exception messages to
317 * Switch.cs: Avoid unnecessary inits. On 2.0 profile, catch and
318 rethrow exceptions in setter for Value. Do not hide exceptions thrown
319 in GetConfigFileSetting. Only set value from config file if switch is
321 * SourceSwitch.cs: Use SwitchSetting for getting/storing value instead
322 of new field. In OnValueChanged, parse enum value.
323 * TraceSwitch.cs: If SwitchSetting is changed to value > 4, then set
324 it to Verbose. In OnValueChanged, parse value case-insensitively, and
325 assign it to SwitchSetting (to allow other integral values).
327 2007-09-05 Atsushi Enomoto <atsushi@ximian.com>
329 * EventLog.cs : added cosmetic 2.0 attributes on newly added members.
331 2007-09-05 Atsushi Enomoto <atsushi@ximian.com>
333 * EventLog.cs, EventLogImpl.cs, LocalFileEventLog.cs, NullEventLog.cs,
334 Win32EventLog.cs : added missing members, will be left unsupported
335 in non-Win32 impl and left unimplemented in Win32.
336 * CounterCreationDataCollection.cs : in 2.0 OnValidate() is overriden
337 instad of OnInsert().
338 * Process.cs : removed StandardErrorEncoding and
339 StandardOutputEncoding. They do not exist anymore.
341 2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
343 * ProcessStartInfo.cs : Implemented Verbs. It is done.
345 2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
347 * Process.cs, ProcessStartInfo.cs : user info support (on windows).
349 2007-08-23 Robert Jordan <robertj@gmx.net>
351 * Process.cs: implement PriorityClass. Fixes #81756.
353 Mon Aug 20 12:41:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
355 * Process.cs: implemented icall for system/user times.
357 2007-08-14 Gert Driesen <drieseng@users.sourceforge.net>
359 * EventLog.cs: Do not allow all whitespace machine name. Do nothing
360 when setting the same value for EnableRaisingEvents, and only modify
361 value of field when enable/disable succeeded. Treats log name case
362 insensitively on all platforms, and perform reset when the log name
363 is changed. Validate new machine name in property, and treat it
364 case-insensitively. Perform reset when source is modified, and log
365 name was not explicitly set. When EventLog is closed, also disable
367 * LocalEventLog.cs: In Close, clean-up the FileSystemWatcher. Add
368 locking to Created eventhandler to avoid duplicate notifications.
369 * Win32EventLog.cs: Cache handle for reading from eventlog. In Close,
370 close the read handle. Implement support for watching win32 eventlog.
373 2007-08-08 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
375 * Process.cs: added StandardOutputEncoding and StandardErrorEncoding
376 properties. Bug #82262 fixed.
378 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
380 * Process.cs, ProcessStartInfo.cs : added StandardOutputEncoding
381 and StandardErrorEncoding.
383 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
385 * PerformanceCounterCategory.cs PerformanceCounter.cs :
386 added missing 2.0 stuff (unimplemented, where things are anyways
387 unimplemented in 1.x layer).
389 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
391 * PerformanceCounterInstanceLifetime.cs
392 PerformanceCounterCategoryType.cs : new.
393 * ICollectData.cs ProcessStartInfo.cs
394 InstanceDataCollectionCollection.cs PerformanceCounter.cs
395 InstanceDataCollection.cs Process.cs :
396 cosmetic attributes cleanup.
398 2007-08-03 Jb Evain <jbevain@novell.com>
400 * FileVersionInfo.cs: force the use of the params
401 AppendFormat method of StringBuilder as it is the only
402 one accessible in 2.1 and in the previous versions.
404 2007-08-03 Jb Evain <jbevain@novell.com>
406 * FileVersionInfo.cs: remove CAS checks for 2.1.
408 2007-08-03 Jb Evain <jbevain@novell.com>
410 * Process.cs: disable StartExistCallbackIfNeeded in 2.1.
412 2007-08-03 Jb Evain <jbevain@novell.com>
414 * ProcessThreadCollection.cs
415 ProcessModuleCollection.cs: use our own collection base
416 for the 2.1 profile, as ReadOnlyCollectionBase does not exist
417 in 2.1, and they are internalized by the linker.
419 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
421 * EventLogTraceListener.cs : fixed wrong 2.0 dependency in 1.x.
423 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
425 * EventLogTraceListener.cs : implemented.
427 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
431 LocalFileEventLog.cs : Implemented EntryWritten event support.
432 * Win32EventLog.cs, NullEventLog.cs : they need stub overrides.
433 * EventLogEntry.cs : [MonitoringDescription].
434 * DiagnosticsConfigurationHandler.cs : [Obsolete]
436 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
438 * DefaultTraceListener.cs : implemented AssertUiEnabled using MWF.
440 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
442 * CounterSample.cs : implemented missing 2.0 equality stuff.
443 * CounterSampleCalculator.cs : static in 2.0.
445 2007-07-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
447 * Process.cs: use the default encoding or the windows input/output
448 encodings for the process input/output/error streams. Bug #80838 fixed.
450 2007-07-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
452 * Process.cs: don't send empty lines that are not in the input. Fixes
455 2007-07-11 Ankit Jain <jankit@novell.com>
457 * ProcessStartInfo.cs (WorkingDirectory.set): Don't set
458 working_directory to null.
460 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
462 * TraceSourceInfo.cs : new class for storing configuration data.
463 * TraceSource.cs : TraceEventCache arguments should be null (they are
464 nullable). Use TraceSourceInfo above.
465 * DiagnosticsConfigurationHandler.cs : removed hack to store listeners
466 in named sources, not traceimpl. Create TraceSource objects from
469 2007-05-18 Marek Safar <marek.safar@gmail.com>
471 * DiagnosticsConfigurationHandler.cs: Fixed 1.1 build.
473 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
475 * XmlWriterTraceListener.cs : open file in shared r/w mode.
476 * DiagnosticsConfigurationHandler.cs : process <sharedListeners>
477 elements first, so that named listeners work fine.
478 * EventLogTraceListener.cs : added 2.0 stubs.
479 * CorrelationManager.cs : removed todo.
481 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
483 * TraceListener.cs : in TraceTransfer(), use TraceEvent() (some
484 derived classes depend on this change).
485 * DelimitedListTraceListener.cs : implemented.
487 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
489 * EventLogPermissionAccess.cs ProcessPriorityClass.cs
490 ProcessWindowStyle.cs ThreadWaitReason.cs TraceImpl.cs
491 Trace.cs ThreadPriorityLevel.cs EventLogEntryType.cs
492 PerformanceCounterPermissionAccess.cs PerformanceCounterType.cs
493 TraceListener.cs ThreadState.cs : cosmetic API fixes.
494 * SwitchAttribute.cs : implemented GetAll().
496 2007-05-17 Atsushi Enomoto <atsushi@ximian.com>
498 * TraceOptions.cs : new enum.
499 * TraceListener.cs : support TraceOutputOptions. Fixed missing
500 NET_2_0 condition in TARGET_JVM section.
501 * TraceSwitch.cs, BooleanSwitch.cs :
502 Added missing constructors and OnValueChanged().
503 * Trace.cs, TraceImpl.cs :
504 Added CorrelationManager and UseGlobalLock.
505 * TraceEventCache.cs : initialize property values at construction.
506 * Switch.cs : added XmlIgnore on Attributes.
508 2007-05-15 Adar Wesley <adarw@mainsoft.com>
510 * Trace.cs: added missing method Refresh.
512 2007-05-14 Atsushi Enomoto <atsushi@ximian.com>
517 SwitchLevelAttribute.cs
518 DelimitedListTraceListener.cs
519 SwitchAttribute.cs : new files in 2.0.
520 * DiagnosticsConfigurationHandler.cs : partial support for named
522 * XmlWriterTraceListener.cs : cosmetic corcompare fixes. Added
524 * TraceListener.cs : added missing 2.0 stuff. Implemented Filter.
525 * DefaultTraceListener.cs : trivial ComVisible fix.
527 2007-05-10 Atsushi Enomoto <atsushi@ximian.com>
529 * TextWriterTraceListener.cs : open log file in readwrite share mode.
530 This fixes bug #81296.
532 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
536 for TARGET_JVM used Thread Local Storage istead
537 Thread-Relative Static Fields
539 2007-05-02 Jonathan Chambers <joncham@gmail.com>
541 * Stopwatch.cs : Implement high performance stopwatch on windows.
543 2007-04-19 Atsushi Enomoto <atsushi@ximian.com>
545 * XmlWriterTraceListener.cs : new file, implementated.
546 * TraceListener.cs : implemented 2.0 members.
548 2007-03-04 Vladimir Krasnov <vlaimdirk@mainsoft.com>
550 * DiagnosticsConfigurationHandler.cs: removed configuration init in
551 TARGET_JVM since not supported
553 2007-02-02 Gert Driesen <drieseng@users.sourceforge.net>
555 * EventLogImpl.cs: When no log name is specified, return zero-length
556 string for LogDisplayName.
558 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
560 * TraceEventCache.jvm.cs: added as a stub class.
562 Tue Jan 23 17:19:13 CET 2007 Paolo Molaro <lupus@ximian.com>
564 * ProcessStartInfo.cs: put the fields in the order expected
567 2007-01-18 Atsushi Enomoto <atsushi@ximian.com>
569 * Switch.cs : added missing .ctor(), Attributes, Value,
570 GetSupportedAttributes() and OnValueChanged().
571 * DiagnosticsConfigurationHandler.cs : added some hacky handler for
572 new "sources" element. Don't wrap another ConfigurationException.
573 * TraceListener.cs : added missing trace methods.
574 * TraceSource.cs, SourceLevels.cs, CorrelationManager.cs,
575 TraceEventCache.cs, TraceEventType.cs, SourceSwitch.cs:
576 added missing 2.0 stuff, mostly just stubs.
578 2007-01-12 Miguel de Icaza <miguel@novell.com>
580 * Trace.cs: Add a number of 2.0 overloads.
582 2007-01-02 Gert Driesen <drieseng@users.sourceforge.net>
584 * Process.cs: Allow GetProcesses and GetProcessById overloads with
585 machine name to work for local machine.
587 2006-12-29 Robert Jordan <robertj@gmx.net>
589 * TraceImpl.cs (Assert): Include line numbers in the stack trace
590 emitted by Assert (). Fixes bug #80400.
592 Thu Dec 14 20:24:09 CET 2006 Paolo Molaro <lupus@ximian.com>
594 * Process.cs: if a process object is restarted, close the
595 previous process handle (bug #80143).
597 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
599 * Process.cs: the Process returned by the static Start method never had
600 the right ProcessStartInfo. Fixes bug #80019.
602 2006-10-13 Atsushi Enomoto <atsushi@ximian.com>
604 * DiagnosticsConfigurationHandler.cs : be more skeptic on
605 broken configuration file.
607 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
609 * DefaultTraceListener.cs: TARGET_JVM
611 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
613 * Process.cs: fix operation number to be 8. The other one was working
614 because the default is to wait for input on the file descriptor.
616 2006-09-05 Gert Driesen <drieseng@users.sourceforge.net>
618 * Win32EventLog.cs: Removed workarounds for bug #79152 and bug #79117
619 now that these have been fixed. Release unmanaged memory that was
620 allocated for replacement strings.
622 2006-08-27 Gert Driesen <drieseng@users.sourceforge.net>
624 * NullEventLog.cs: Added dummy GetLogNames implementation.
625 * EventLogImpl.cs: Moved GetEventLogs implementation to base class.
626 Added abstract GetLogNames method. Added ValidateCustomerLogName
627 method which should be called by eventlog providers when creating a
628 new log to ensure the significant part of the log name is unique, does
629 not match any of the special log names and does not match an exist event
631 * Win32EventLog.cs: Validate customer log name when creating new log.
632 Moved GetEventLogs implementation to base class. Added GetLogNames
634 * LocalFileEventLog.cs: Merged CreateLogStore into CreateEventSource.
635 Validate customer log name when creating new log. Moved GetEventLogs
636 implementation to base class. Added GetLogNames method.
638 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
640 * Win32EventLog.cs: Fixed error messages. Use RegisterEventSource
641 pinvoke when opening eventlog for writing entries.
643 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
645 * Win32EventLog.cs: Added and documented workarounds for bug #79117
648 2006-08-25 Gert Driesen <drieseng@users.sourceforge.net>
650 * LocalFileEventLog.cs: When event log store does not exist, then we
651 do not need to perform a case-insensitive lookup of the log name.
653 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
655 * EventLog.cs: Removed namespace import.
656 * EventInstance.cs: Added range checks and check whether specified
657 entry type is defined.
659 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
661 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
662 Obsolete attribute to correct property.
663 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
664 set log name to "Application" if value is null or zero-length string.
665 * EventLogImpl.cs: EventImpl now acts as base class for event log
667 * NullEventLog.cs: Modified to implement new abstract methods of base
668 class. Removed factory class.
669 * EventLog.cs: EventLog implementation that delegates just about
670 everything to individual eventlog providers. To specify the event log
671 implementation to use, the MONO_EVENTLOG_TYPE environment variable can
672 be used. Possible values are:
673 - win32 : read/write entries using the native win32 eventlog
674 - local[:path] : read/write entries as files to a local directory
675 - null : silently ignore all entries
676 The default is "null" on unix (and versions of Windows before NT,
677 meaning Windows 98, ...), and "win32" on Windows NT (and higher).
678 When "the local" implementation is used, the directory in which to
679 store the event logs, event sources and entries can be specified as
680 part of MONO_EVENTLOG_TYPE environment variable using the syntax
681 "local:<path>" (eg. local:/home/myuser/mono/eventlog).
682 * LocalFileEventLog.cs: Event log implementation which uses a local
683 file store. The directory to use for persistence can be specified
684 as part of the MONO_EVENTLOG_TYPE environment variable (see above).
685 If that directory is not explicitly set, then the following directory
686 will be used for storing eventlog entries:
687 - windows : %APPDATA%\mono\eventlog
688 - unix : /var/lib/mono/eventlog
689 On unix, the directory permission for individual eventlog log
690 directories will be set to 777 (with +t bit) allowing everyone to
691 read and write eventlog entries while only allowing entries to be
692 deleted by the user(s) that created them.
693 Format of log files was modified to allow it contain all necessary
694 information for an event log entry.
695 * Win32EventLog.cs: Event log implementation for Windows NT and
696 higher which uses the Win32 native event log for reading/writing
697 eventlog entries, and which uses the registry to store event log and
698 event source registration information.
699 * EventLogEntryCollection.cs: Delegate implementation to event log
700 implementation. Use lazy init for enumerating entries. Cache current
703 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
705 * LocalFileEventLog.cs : change lengthy environment variable name.
706 MONO_LOCAL_EVENTLOG_PATH -> MONO_EVENTLOG_PATH.
708 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
710 * EventLogImpl.cs, EventLogEntryCollection.cs, EventLog.cs :
711 some rework to support actual event log implementations.
712 * NullEventLog.cs, LocalFileEventLog.cs :
713 new files. The former (default) implementation does nothing for
714 any event log features. The latter implements local file based
717 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
719 * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
720 EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
722 Reverted previous two changes that does not work at all.
724 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
726 * EventLog.cs: For now, Use null implementation.
728 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
730 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
731 Obsolete attribute to correct property.
732 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
733 set log name to "Application" if value is null or zero-length string.
734 * EventLogImpl.cs: EventImpl now acts as base class for event log
735 implemenations. Added NullEventLog implementation, which is not used
737 * EventLog.cs: EventLog implementation that uses registry for
738 keeping track of logs and sources to match .NET (and Windows). When
739 running on Windows NT (and higher), event entries are written to
740 the native win32 event log. Reading event entries is not yet working
741 for Windows. On linux, we use a local file store (based on patch by
743 * UnixEventLog.cs: Event log implementation for linux which uses a
745 * Win32EventLog.cs: Event log implementation for Windows NT and
746 higher which uses the Win32 native event log.
747 * EventLogEntryCollection.cs: Delegate implementation to event log
748 implemenation. Use lazy init for enumerating entries.
750 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
752 * Process.cs: reset the 'start' time if we wait for stdout reading to
755 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
757 * Process.cs: add support for 2.0 asynchronous reads on stdout and
760 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
762 * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
763 Throw ArgumentOutOfRangeException if negative value for CategoryCount
766 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
768 * EventInstance.cs: Added 2.0 class.
769 * EventSourceCreationData.cs: Added 2.0 class.
770 * OverflowAction.cs: Added 2.0 enum.
772 2006-07-31 Sebastien Pouliot <sebastien@ximian.com>
774 * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
775 * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
776 * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
777 an imperative demand for FileIOPermission.Read on GetVersionInfo
778 method. Change ToString method to use a StringBuilder.
779 * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
781 * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on
782 class. Add [Obsolete] for NET_2_0 profile.
783 * Process.cs: Add a linkdemand and an inheritancedemand for
784 unrestricted on class.
785 * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
787 2006-07-16 Andrew Skiba <andrews@mainsoft.com>
789 * Process.cs: throw FileNotFoundException earlier; give more
792 2006-05-16 Dick Porter <dick@ximian.com>
794 * Process.cs: Dispose the handle from a destructor too
796 2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
799 Zoltan was quicker to add it, here I put my implementation ;-)
801 Added some missing long members (not implemented anyways).
802 * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
805 2006-04-01 Zoltan Varga <vargaz@gmail.com>
807 * Stopwatch.cs: New file.
809 2006-03-31 Zoltan Varga <vargaz@gmail.com>
811 * Debug.cs: Add net 2.0 Print methods.
813 2006-03-03 Dick Porter <dick@ximian.com>
815 * Process.cs: Close redirected pipes on errors. Fixes bug 77514.
817 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
819 * ConsoleTraceListener.cs: New 2.0 class
821 2005-11-17 Dick Porter <dick@ximian.com>
823 * Process.cs: Split Start_common into Start_shell and
824 Start_noshell, which call ShellExecuteEx and CreateProcess
825 respectively. Fixes bug 76670.
827 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
829 * Process.cs: deal with the fact that someone can enable raising events
830 and/or registed a Exited delegate before and *after* Start is called for
831 the process. Only queue the exit callback in the threadpool when it's
832 possible and requested. Fixes bug #76129.
834 2005-08-09 Gert Driesen <drieseng@users.sourceforge.net>
836 * EventLog.cs: Fixed Designer attribute to match MS.NET.
837 * ICollectData.cs: Added marshalling attribute to match MS.NET.
838 * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
839 * Process.cs: Fixed Designer attribute to match MS.NET, modified
840 * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
841 * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
842 DesignerSerializationVisibility on StartInfo to match MS.NET, changed
843 Category attribute on Exited event to match MS.NET.
845 2005-06-09 Gert Driesen <drieseng@users.sourceforge.net>
847 * TraceImpl.cs: Adjust internal indentlevel and indentsize before
848 passing on to listeners. Fixes some test failures.
850 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
852 * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
853 runtime uses MONO_TRACE too...
855 2005-05-31 Sebastien Pouliot <sebastien@ximian.com>
857 * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
858 machine names and PerformanceCounterPermissionAccess.
860 2005-02-22 Jonathan Pryor <jonpryor@vt.edu>
862 * TraceImpl.cs: More Thread-safety fixes. I have to lock on
863 Listeners.SyncRoot as we're traversing the collection and can't let the
864 collection change from underneath us while we're iterating over it
865 (alternately, we could clone the collection and iterate over the clone
866 without having locking issues -- assuming we had a lock-free clone --
867 but this would kill the GC). Fixes 69964. Only define lock_ if we're
868 using the lock-free initialization routine; it's not used otherwise.
870 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
872 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration):
873 Use a lock-free algorithm for creating the settings information.
874 * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
875 listeners collection and initializing the world.
877 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
879 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't
880 read the .config file from the static ctor (again), as if it fails we'll
881 get a TypeLoadException -- bad! Instead, lazy-read the .config file.
882 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler):
883 Require that the /switch/add/@value attribute contains only numeric values.
884 * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
885 fails (due to an invalid .confg file) we get a TypeLoadException, while
886 .NET generates a ConfigurationException. Instead, initialize everything
887 the first time the Listeners property is accessed, which allows the static
888 ctor to run without chance of failure, avoiding the TypeLoadException.
889 * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
890 from a static member of TraceImpl (available through the public Debug and
892 * Switch.cs: Leave the original switch value alone. If it isn't valid
893 (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
895 2005-01-17 Jonathan Pryor <jonpryor@vt.edu>
897 * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute
898 isn't optional under .NET 1.1, so make sure it exists.
900 2005-01-13 Jonathan Pryor <jonpryor@vt.edu>
902 * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
903 thread-safe (double-checked locking isn't thread safe on .NET without
904 using a volatile variable, and setting the variable in the static
905 constructor is easier anyway).
906 * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
907 attribute value to the string "0". This is apparently what .NET 1.1 does,
908 and allows the SwitchTest NUnit test to work w/o failures.
910 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
912 * Process.cs: always pass the same arguments to the runtime.
914 2004-09-11 Sebastien Pouliot <sebastien@ximian.com>
916 * EventLogPermission.cs: Completed implementation.
917 * EventLogPermissionAccess.cs: Fixed enum values.
918 * EventLogPermissionEntry.cs: Added validation for machine names.
919 * EventLogPermissionEntryCollection.cs: Added synchronization
920 of entries with the base permission class.
921 * PerformanceCounterPermission.cs: Completed implementation.
922 * PerformanceCounterPermissionAccess.cs: Fixed enum values.
923 * PerformanceCounterPermissionEntry.cs: Added validations for machine
925 * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
926 of entries with the base permission class.
928 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
930 * EventLogPermission.cs: Fixed initialization (TagNames and
931 PermissionAccessType).
932 * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added
933 [Obsolete] to some existing elements.
934 * EventLogPermissionAttribute.cs: Added missing validation to property
935 MachineName. Fixed changes for NET_2_0.
936 * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
937 PermissionAccessType).
938 * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
939 and added [Obsolete] to some existing elements.
940 * PerformanceCounterPermissionAttribute.cs: Added missing validations
941 to properties (Path, MachineName). Fixed changes for NET_2_0.
943 2004-09-07 Dick Porter <dick@ximian.com>
945 * Process.cs: Throw documented exceptions when getting stdin,
946 stdout or stderr and they haven't been redirected. Check that
947 CreatePipe didn't fail, throw exceptions if it did. Close
948 redirected streams when the process is disposed, rather than rely
949 on the GC disposing them later. Makes timeline much happier,
950 because it could run out of file descriptors between GC
953 2004-09-06 Dick Porter <dick@ximian.com>
955 * Process.cs: Make Dispose() actually dispose things.
957 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
959 * Process.cs : quick fix for UseShellExecute=false on windows. See
962 2004-06-17 Lluis Sanchez Gual <lluis@ximian.com>
964 * Process.cs: Added missing check in HasExited property.
966 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
968 * EventLogPermissionAttribute.cs:
969 * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
970 and Inherited to match .NET
972 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
974 * Process.cs: separate the command and the arguments when calling
977 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
979 * Process.cs: redirecting I/O is not permitted if UseShellExecute is
980 true. Also throw if FileName is null.
982 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
984 * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
985 use the constructor that only takes one string as parameter to
986 construct the listener. The name is set using the Name property, not the
989 * TextWriterTraceListener.cs: In Write*, do nothing if no writer was
992 2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
994 * Process.cs: use the ISynchronizeInvoke object to invoke the event.
995 Implemented Close, CloseMainWindow and Kill.
997 2004-03-23 Ben Maurer <bmaurer@users.sourceforge.net>
999 * Switch.cs: Don't throw when there is no switches section.
1001 2004-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1003 * Process.cs: support EnableRaisingEvents + Exited event.
1005 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1007 * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
1008 timeout is int.MaxValue.
1010 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1012 * Process.cs: added environment variables setting support and also
1013 send useShellExecute to the runtime.
1015 * ProcessStartInfo.cs: support EnvironmentVariables. MS uses
1016 StringDictionary, which turns keys into lowercase. We don't do that.
1018 2004-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1020 * Process.cs: ExitCode and ExitTime check that the process is finished.
1022 2003-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1024 * Process.cs: if there's an error when starting the process, the 'pid'
1025 field contains the GetLastError code. Use that for the Win32Exception.
1027 2003-12-06 Martin Baulig <martin@ximian.com>
1029 * DefaultTraceListener: Don't use `where' in variable names.
1031 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1033 * ICollectData.cs: Fixed signature
1035 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1037 * ICollectData.cs: Added missing attribute
1039 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1041 * SRDescriptionAttribute.cs: Moved to System directory
1043 2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1045 * EventLog.cs: Implementation handling
1046 * EventLogImpl.cs: Added, contains an platform independent empty implementation
1049 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1051 * AlphabeticalEnumConverter.cs: Added
1052 * EventLogEntry.cs: Implemented
1053 * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
1054 * EventLogTraceListener.cs: Fixed signature
1055 * PerformanceCounter.cs: Added missing attribute
1056 * PerformanceCounterType.cs: Added missing attribute
1057 * SRDescriptionAttribute.cs: Added and implemented
1059 2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1061 * CounterCreationData.cs:
1064 * PerformanceCounter.cs:
1067 * ProcessStartInfo.cs:
1068 * ProcessThread.cs: Reworked attributes based on the new Consts scheme
1070 2003-07-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1072 * PerformanceCounterCategory.cs: Fixed signatures
1074 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1076 * PerformanceCounter.cs: Implemented or implementation added
1078 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1080 * DiagnosticsConfigurationHandler.cs: Removed a never used variable
1081 * EventLog.cs: Small update to prevent a warning
1082 * EventLogPermission.cs: Implemented or implementation added
1083 * EventLogPermissionAttribute.cs: Implemented or implementation added
1084 * EventLogPermissionEntry.cs: Implemented or implementation added
1085 * EventLogPermissionEntryCollection.cs: Implemented or implementation added
1086 * EventLogTraceListener.cs: Implemented or implementation added
1087 * PerformanceCounterManager.cs: Implemented or implementation added
1088 * PerformanceCounterInstaller.cs: Made internal
1089 * PerformanceCounterCategory.cs: Implemented few members
1090 * PerformanceCounterPermission.cs: Implemented or implementation added
1091 * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
1092 * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
1093 * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
1095 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1097 * EventLog.cs: Removed unneccesary attribute according to corecompare
1098 * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
1099 * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
1100 * ProcessModule.cs: Removed unneccesary attribute according to corecompare
1101 * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
1102 * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
1104 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1106 * InstanceDataCollectionCollection.cs: Corrected wrong signature
1107 * EventLog.cs: Missing attributes added, redirected some class members
1108 * EventLogEntry.cs: Missing attributes added
1109 * EventLogInstaller.cs: Made internal
1111 2003-07-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1113 * CounterCreationData.cs: Added missing attributes
1114 * CounterSample.cs: Implemented missing rest, fixed signature
1115 * CounterSampleCalculator.cs: Added private constructor, redirected function
1116 * Process.cs: Added attributes, added event mechanism
1117 * ProcessModule.cs: Added missing attributes
1118 * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
1119 * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
1120 * ProcessThread.cs: Added missing attributes, added pseudo constructor
1121 * ProcessThreadCollection.cs: Implemented
1122 * PerformanceCounterPermission.cs: Fixed typo in class name
1123 * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
1125 2003-03-19 Dick Porter <dick@ximian.com>
1127 * Process.cs: Implement HasExited, fixes bug 39267
1129 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1131 * Process.cs: throw an exception when the executable cannot be found.
1133 2002-12-20 Jonathan Pryor <jonpryor@vt.edu>
1134 * DiagnosticsConfigurationHandler.cs:
1135 - Don't assume that optional attributes are always present
1136 - <assert/> can't have any child nodes
1137 - Change in semantics: if the attribute isn't present,
1138 GetAttribute() returns null, not "". This allows us to
1139 differentiate between an attribute not being present and an
1140 attribute with an empty value.
1141 - Translate exceptions if a TraceListener type is invalid
1143 2002-12-19 Jonathan Pryor <jonpryor@vt.edu>
1144 * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be
1145 hardcoded; they should be set to whatever TraceImpl is using (which
1146 in turn may have been set by the .config file, so we should get the
1147 user-specified values in added listeners).
1148 * TraceListener.cs: Make sure that indents are initially written. This
1149 allows code that uses Trace.Indent() before a Trace.WriteLine() to be
1151 * TraceImpl.cs: provide a static constructor to explicitly specify the
1152 ordering of initialization, in particular the ordering of
1153 TraceImpl.Listeners and the reading of the .config file (by
1154 accessing DiagnosticsConfiguration.Settings). This (hopefully)
1155 ensures that the Listeners collection is initialized before the
1156 .config file is read in, as the DiagnosticsConfigurationHandler will
1157 directly modify the listeners collection.
1158 The DiagnosticsConfigurationHandler assumes this so that it can
1159 <add/> and <remove/> trace listeners and set the logfile for the
1160 DefaultTraceListener.
1163 2002-12-18 Jonathan Pryor <jonpryor@vt.edu>
1164 * BooleanSwitch.cs: Complete re-write. It works now.
1165 * DefaultTraceListener.cs:
1166 - Use `const' strings, so I don't worry about copy/paste errors
1167 - Give `AssertUiEnabled' an actual backing member
1168 * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
1169 configuration handler set .config-specified properties on
1170 DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
1171 (AutoFlush, IndentSize).
1172 * Switch.cs: Near complete re-write. Actually works, and is (should be)
1173 comformant with .NET behavior. Changed member names because they
1174 were confusing me. (Yes, that doesn't say much about my memory.)
1175 * TextWriterTraceListener.cs: Append text to already existing files,
1176 don't overwrite them.
1178 - Added private destructor, to ensure no instances are created.
1179 - Move members declarations to be closer to each other.
1180 * TraceSwitch.cs: Complete re-write. It works now.
1182 2002-12-17 Jonathan Pryor <jonpryor@vt.edu>
1183 * DiagnosticsConfigurationHandler.cs: Implement so that .config files
1184 support <system.diagnostics> sections.
1186 2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188 * DefaultTraceListener.cs: now OutputDebugStringW is called from an
1189 internal call (update your runtime!). No more warnings in linux.
1191 2002-10-31 Dick Porter <dick@ximian.com>
1193 * Process.cs: MonoIO methods now have an error parameter
1195 2002-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1197 * DefaultTraceListener.cs: changed OutputDebugString to
1198 OutputDebugStringW (no more warnings under windows). Also a few style
1201 2002-10-23 Dick Porter <dick@ximian.com>
1203 * Process.cs: Redirected standard input needs to have AutoFlush set
1205 2002-09-27 Dick Porter <dick@ximian.com>
1207 * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
1208 ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
1209 Pass the working directory to Start. Pass the program and args in
1210 one string to be used with the second arg of CreateProcess, so it
1211 will search the path.
1213 2002-09-19 Nick Drochak <ndrochak@gol.com>
1215 * TraceImpl.cs: Remove debug prints
1217 2002-09-19 Nick Drochak <ndrochak@gol.com>
1219 * TraceListenerCollection.cs: Set Indet level and size to default
1220 values. The values from TraceImpl might have been changed.
1222 2002-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1225 * TextWriterTraceListener.cs: IDisposable fixes.
1227 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1229 * Process.cs: class status based fixes.
1231 2002-07-20 Dick Porter <dick@ximian.com>
1233 * Process.cs: Implement file handle redirection
1235 2002-07-13 Jonathan Pryor <jonpryor@vt.edu>
1236 * CounterCreationData.cs: Implemented
1237 * CounterCreationDataCollection.cs: Implemented
1238 * CounterSample.cs: Stubbed Out
1239 * CounterSampleCalculator.cs: Stubbed Out
1240 * InstanceData.cs: Implemented
1241 * InstanceDataCollection.cs: Implemented
1242 * InstanceDataCollectionCollection.cs: Implemented
1243 * MonitoringDescriptionAttribute.cs: Implemented
1244 * PerformanceCounter.cs: Stubbed Out
1245 * PerformanceCounterCategory.cs: Stubbed Out
1246 * PerformanceCounterInstaller.cs: Stubbed Out
1247 * PerformanceCounterManager.cs: Stubbed Out
1248 * PerformanceCounterPermission.cs: Stubbed Out
1249 * PerformanceCounterPermissionAccess.cs: Implemented
1250 * PerformanceCounterPermissionAttribute.cs: Stubbed Out
1251 * PerformanceCounterPermissionEntry.cs: Stubbed Out
1252 * PerformanceCounterPermissionEntryCollection.cs: Implemented
1253 * PerformanceCounterType.cs: Implemented
1256 2002-06-25 Dick Porter <dick@ximian.com>
1258 * Process.cs: Process forking and waiting, and some support functions
1260 * ProcessStartInfo.cs: Implemented the bits needed for basic
1263 * ProcessModule.cs: Implemented
1265 * ProcessModuleCollection.cs: Mostly implemented
1267 * FileVersionInfo.cs: Implemented
1269 2002-06-16 Jonathan Pryor <jonpryor@vt.edu>
1270 * ICollectData.cs: Implemented
1271 * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
1272 corresponding properties on all current TraceListeners.
1273 Also, to answer the FIXME message: Yes, the properties in TraceListener
1274 need to be [ThreadStatic] as well.
1275 * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
1276 should have its properties set to the current TraceImpl property values.
1277 * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
1279 2002-06-09 Jonathan Pryor <jonpryor@vt.edu>
1280 * EntryWrittenEventArgs.cs: Implemented
1281 * EntryWrittenEventHandler.cs: Implemented
1282 * EventLog.cs: Stubbed out
1283 * EventLogEntry.cs: Stubbed out
1284 * EventLogEntryCOllection.cs: Implemented.
1285 * EventLogEntryType.cs: Implemented
1286 * EventLogInstaller.cs: Stubbed out
1287 * EventLogPermission.cs: Stubbed out
1288 * EventLogPermissionAccess.cs: Implemented
1289 * EventLogPermissionAttribute.cs: Stubbed out
1290 * EventLogPermissionEntry.cs: Stubbed out
1291 * EventLogPermissionEntryCollection.cs: Stubbed out
1292 * EventLogTraceListener.cs: Stubbed out
1294 2002-05-29 Jonathan Pryor <jonpryor@vt.edu>
1295 * DefaultTraceListener.cs: Implemented MONO_TRACE support
1297 2002-05-27 Jonathan Pryor <jonpryor@vt.edu>
1298 * Moved public API documentation for the following files to the
1299 /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
1301 - DefaultTraceListener.cs
1302 - DiagnosticsConfigurationHandler.cs
1304 - TextWriterTraceListener.cs
1308 - TraceListenerCollection.cs
1311 2002-04-10 Jonathan Pryor <jonpryor@vt.edu>
1313 * TraceListenerCollection.cs: Corrected indexer property to provide the
1314 correct return value and implement the IList indexer property correctly.
1316 2002-04-07 Jonathan Pryor <jonpryor@vt.edu>
1318 * TraceListener.cs: Fix stack overflow bug
1319 * DefaultTraceListener.cs: Implement log file support
1321 2002-04-04 Dick Porter <dick@ximian.com>
1323 * ThreadWaitReason.cs:
1325 * ThreadPriorityLevel.cs:
1326 * ProcessWindowStyle.cs:
1327 * ProcessThreadCollection.cs
1329 * ProcessStartInfo.cs:
1330 * ProcessModuleCollection.cs: Stub out more classes needed for Process
1332 2002-03-31 Dick Porter <dick@ximian.com>
1335 * ProcessPriorityClass.cs:
1337 * FileVersionInfo.cs: Stub out classes needed for Process
1339 2002-03-08 Jonathan Pryor <jonpryor@vt.edu>
1341 * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which
1342 is why TraceImpl.cs is introduced), "DEBUG" conditional support
1343 * TraceListener.cs: Proper implementation of Dispose pattern;
1344 implementatino of non-abstract methods in terms of abstract methods
1345 * TraceListenerCollection.cs: check 'object' types before adding
1346 * TextWriterTraceListener.cs: properly implement Dispose pattern;
1347 handle NeedIndent and WriteIndent
1348 * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
1350 * DefaultTraceListener.cs: new file; the default trace listener
1352 2002-01-17 Miguel de Icaza <miguel@ximian.com>
1353 * TraceListenerCollection.cs: Remove Warnings.
1355 2002-01-06 Ravi Pratap <ravi@ximian.com>
1356 * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
1357 with the MonoTODO attribute.
1359 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1360 * Added Debug.cs to the build.
1362 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1363 * Added preliminary TraceListenerCollection.cs to the build.
1365 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1366 * Added TraceListener.cs, TextWriterTraceListener.cs, and
1367 DefaultTraceListener.cs to the build and moved them into the
1370 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1371 * Added DiagnosticsConfigurationHandler.cs to the build.
1373 2001-09-09 Nick Drochak <ndrochak@gol.com>
1374 * BooleanSwitch.cs: Make this class use it's parent class's features. Namely, use SwitchSetting
1375 so that we can get OnSwitchSettingChanged() to fire for free.
1377 2001-09-09 Nick Drochak <ndrochak@gol.com>
1378 * ChangeLog: added this file
1379 * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.