1 2007-08-03 Jb Evain <jbevain@novell.com>
3 * FileVersionInfo.cs: force the use of the params
4 AppendFormat method of StringBuilder as it is the only
5 one accessible in 2.1 and in the previous versions.
7 2007-08-03 Jb Evain <jbevain@novell.com>
9 * FileVersionInfo.cs: remove CAS checks for 2.1.
11 2007-08-03 Jb Evain <jbevain@novell.com>
13 * Process.cs: disable StartExistCallbackIfNeeded in 2.1.
15 2007-08-03 Jb Evain <jbevain@novell.com>
17 * ProcessThreadCollection.cs
18 ProcessModuleCollection.cs: use our own collection base
19 for the 2.1 profile, as ReadOnlyCollectionBase does not exist
20 in 2.1, and they are internalized by the linker.
22 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
24 * EventLogTraceListener.cs : fixed wrong 2.0 dependency in 1.x.
26 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
28 * EventLogTraceListener.cs : implemented.
30 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
34 LocalFileEventLog.cs : Implemented EntryWritten event support.
35 * Win32EventLog.cs, NullEventLog.cs : they need stub overrides.
36 * EventLogEntry.cs : [MonitoringDescription].
37 * DiagnosticsConfigurationHandler.cs : [Obsolete]
39 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
41 * DefaultTraceListener.cs : implemented AssertUiEnabled using MWF.
43 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
45 * CounterSample.cs : implemented missing 2.0 equality stuff.
46 * CounterSampleCalculator.cs : static in 2.0.
48 2007-07-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
50 * Process.cs: use the default encoding or the windows input/output
51 encodings for the process input/output/error streams. Bug #80838 fixed.
53 2007-07-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
55 * Process.cs: don't send empty lines that are not in the input. Fixes
58 2007-07-11 Ankit Jain <jankit@novell.com>
60 * ProcessStartInfo.cs (WorkingDirectory.set): Don't set
61 working_directory to null.
63 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
65 * TraceSourceInfo.cs : new class for storing configuration data.
66 * TraceSource.cs : TraceEventCache arguments should be null (they are
67 nullable). Use TraceSourceInfo above.
68 * DiagnosticsConfigurationHandler.cs : removed hack to store listeners
69 in named sources, not traceimpl. Create TraceSource objects from
72 2007-05-18 Marek Safar <marek.safar@gmail.com>
74 * DiagnosticsConfigurationHandler.cs: Fixed 1.1 build.
76 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
78 * XmlWriterTraceListener.cs : open file in shared r/w mode.
79 * DiagnosticsConfigurationHandler.cs : process <sharedListeners>
80 elements first, so that named listeners work fine.
81 * EventLogTraceListener.cs : added 2.0 stubs.
82 * CorrelationManager.cs : removed todo.
84 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
86 * TraceListener.cs : in TraceTransfer(), use TraceEvent() (some
87 derived classes depend on this change).
88 * DelimitedListTraceListener.cs : implemented.
90 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
92 * EventLogPermissionAccess.cs ProcessPriorityClass.cs
93 ProcessWindowStyle.cs ThreadWaitReason.cs TraceImpl.cs
94 Trace.cs ThreadPriorityLevel.cs EventLogEntryType.cs
95 PerformanceCounterPermissionAccess.cs PerformanceCounterType.cs
96 TraceListener.cs ThreadState.cs : cosmetic API fixes.
97 * SwitchAttribute.cs : implemented GetAll().
99 2007-05-17 Atsushi Enomoto <atsushi@ximian.com>
101 * TraceOptions.cs : new enum.
102 * TraceListener.cs : support TraceOutputOptions. Fixed missing
103 NET_2_0 condition in TARGET_JVM section.
104 * TraceSwitch.cs, BooleanSwitch.cs :
105 Added missing constructors and OnValueChanged().
106 * Trace.cs, TraceImpl.cs :
107 Added CorrelationManager and UseGlobalLock.
108 * TraceEventCache.cs : initialize property values at construction.
109 * Switch.cs : added XmlIgnore on Attributes.
111 2007-05-15 Adar Wesley <adarw@mainsoft.com>
113 * Trace.cs: added missing method Refresh.
115 2007-05-14 Atsushi Enomoto <atsushi@ximian.com>
120 SwitchLevelAttribute.cs
121 DelimitedListTraceListener.cs
122 SwitchAttribute.cs : new files in 2.0.
123 * DiagnosticsConfigurationHandler.cs : partial support for named
125 * XmlWriterTraceListener.cs : cosmetic corcompare fixes. Added
127 * TraceListener.cs : added missing 2.0 stuff. Implemented Filter.
128 * DefaultTraceListener.cs : trivial ComVisible fix.
130 2007-05-10 Atsushi Enomoto <atsushi@ximian.com>
132 * TextWriterTraceListener.cs : open log file in readwrite share mode.
133 This fixes bug #81296.
135 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
139 for TARGET_JVM used Thread Local Storage istead
140 Thread-Relative Static Fields
142 2007-05-02 Jonathan Chambers <joncham@gmail.com>
144 * Stopwatch.cs : Implement high performance stopwatch on windows.
146 2007-04-19 Atsushi Enomoto <atsushi@ximian.com>
148 * XmlWriterTraceListener.cs : new file, implementated.
149 * TraceListener.cs : implemented 2.0 members.
151 2007-03-04 Vladimir Krasnov <vlaimdirk@mainsoft.com>
153 * DiagnosticsConfigurationHandler.cs: removed configuration init in
154 TARGET_JVM since not supported
156 2007-02-02 Gert Driesen <drieseng@users.sourceforge.net>
158 * EventLogImpl.cs: When no log name is specified, return zero-length
159 string for LogDisplayName.
161 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
163 * TraceEventCache.jvm.cs: added as a stub class.
165 Tue Jan 23 17:19:13 CET 2007 Paolo Molaro <lupus@ximian.com>
167 * ProcessStartInfo.cs: put the fields in the order expected
170 2007-01-18 Atsushi Enomoto <atsushi@ximian.com>
172 * Switch.cs : added missing .ctor(), Attributes, Value,
173 GetSupportedAttributes() and OnValueChanged().
174 * DiagnosticsConfigurationHandler.cs : added some hacky handler for
175 new "sources" element. Don't wrap another ConfigurationException.
176 * TraceListener.cs : added missing trace methods.
177 * TraceSource.cs, SourceLevels.cs, CorrelationManager.cs,
178 TraceEventCache.cs, TraceEventType.cs, SourceSwitch.cs:
179 added missing 2.0 stuff, mostly just stubs.
181 2007-01-12 Miguel de Icaza <miguel@novell.com>
183 * Trace.cs: Add a number of 2.0 overloads.
185 2007-01-02 Gert Driesen <drieseng@users.sourceforge.net>
187 * Process.cs: Allow GetProcesses and GetProcessById overloads with
188 machine name to work for local machine.
190 2006-12-29 Robert Jordan <robertj@gmx.net>
192 * TraceImpl.cs (Assert): Include line numbers in the stack trace
193 emitted by Assert (). Fixes bug #80400.
195 Thu Dec 14 20:24:09 CET 2006 Paolo Molaro <lupus@ximian.com>
197 * Process.cs: if a process object is restarted, close the
198 previous process handle (bug #80143).
200 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
202 * Process.cs: the Process returned by the static Start method never had
203 the right ProcessStartInfo. Fixes bug #80019.
205 2006-10-13 Atsushi Enomoto <atsushi@ximian.com>
207 * DiagnosticsConfigurationHandler.cs : be more skeptic on
208 broken configuration file.
210 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
212 * DefaultTraceListener.cs: TARGET_JVM
214 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
216 * Process.cs: fix operation number to be 8. The other one was working
217 because the default is to wait for input on the file descriptor.
219 2006-09-05 Gert Driesen <drieseng@users.sourceforge.net>
221 * Win32EventLog.cs: Removed workarounds for bug #79152 and bug #79117
222 now that these have been fixed. Release unmanaged memory that was
223 allocated for replacement strings.
225 2006-08-27 Gert Driesen <drieseng@users.sourceforge.net>
227 * NullEventLog.cs: Added dummy GetLogNames implementation.
228 * EventLogImpl.cs: Moved GetEventLogs implementation to base class.
229 Added abstract GetLogNames method. Added ValidateCustomerLogName
230 method which should be called by eventlog providers when creating a
231 new log to ensure the significant part of the log name is unique, does
232 not match any of the special log names and does not match an exist event
234 * Win32EventLog.cs: Validate customer log name when creating new log.
235 Moved GetEventLogs implementation to base class. Added GetLogNames
237 * LocalFileEventLog.cs: Merged CreateLogStore into CreateEventSource.
238 Validate customer log name when creating new log. Moved GetEventLogs
239 implementation to base class. Added GetLogNames method.
241 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
243 * Win32EventLog.cs: Fixed error messages. Use RegisterEventSource
244 pinvoke when opening eventlog for writing entries.
246 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
248 * Win32EventLog.cs: Added and documented workarounds for bug #79117
251 2006-08-25 Gert Driesen <drieseng@users.sourceforge.net>
253 * LocalFileEventLog.cs: When event log store does not exist, then we
254 do not need to perform a case-insensitive lookup of the log name.
256 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
258 * EventLog.cs: Removed namespace import.
259 * EventInstance.cs: Added range checks and check whether specified
260 entry type is defined.
262 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
264 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
265 Obsolete attribute to correct property.
266 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
267 set log name to "Application" if value is null or zero-length string.
268 * EventLogImpl.cs: EventImpl now acts as base class for event log
270 * NullEventLog.cs: Modified to implement new abstract methods of base
271 class. Removed factory class.
272 * EventLog.cs: EventLog implementation that delegates just about
273 everything to individual eventlog providers. To specify the event log
274 implementation to use, the MONO_EVENTLOG_TYPE environment variable can
275 be used. Possible values are:
276 - win32 : read/write entries using the native win32 eventlog
277 - local[:path] : read/write entries as files to a local directory
278 - null : silently ignore all entries
279 The default is "null" on unix (and versions of Windows before NT,
280 meaning Windows 98, ...), and "win32" on Windows NT (and higher).
281 When "the local" implementation is used, the directory in which to
282 store the event logs, event sources and entries can be specified as
283 part of MONO_EVENTLOG_TYPE environment variable using the syntax
284 "local:<path>" (eg. local:/home/myuser/mono/eventlog).
285 * LocalFileEventLog.cs: Event log implementation which uses a local
286 file store. The directory to use for persistence can be specified
287 as part of the MONO_EVENTLOG_TYPE environment variable (see above).
288 If that directory is not explicitly set, then the following directory
289 will be used for storing eventlog entries:
290 - windows : %APPDATA%\mono\eventlog
291 - unix : /var/lib/mono/eventlog
292 On unix, the directory permission for individual eventlog log
293 directories will be set to 777 (with +t bit) allowing everyone to
294 read and write eventlog entries while only allowing entries to be
295 deleted by the user(s) that created them.
296 Format of log files was modified to allow it contain all necessary
297 information for an event log entry.
298 * Win32EventLog.cs: Event log implementation for Windows NT and
299 higher which uses the Win32 native event log for reading/writing
300 eventlog entries, and which uses the registry to store event log and
301 event source registration information.
302 * EventLogEntryCollection.cs: Delegate implementation to event log
303 implementation. Use lazy init for enumerating entries. Cache current
306 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
308 * LocalFileEventLog.cs : change lengthy environment variable name.
309 MONO_LOCAL_EVENTLOG_PATH -> MONO_EVENTLOG_PATH.
311 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
313 * EventLogImpl.cs, EventLogEntryCollection.cs, EventLog.cs :
314 some rework to support actual event log implementations.
315 * NullEventLog.cs, LocalFileEventLog.cs :
316 new files. The former (default) implementation does nothing for
317 any event log features. The latter implements local file based
320 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
322 * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
323 EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
325 Reverted previous two changes that does not work at all.
327 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
329 * EventLog.cs: For now, Use null implementation.
331 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
333 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
334 Obsolete attribute to correct property.
335 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
336 set log name to "Application" if value is null or zero-length string.
337 * EventLogImpl.cs: EventImpl now acts as base class for event log
338 implemenations. Added NullEventLog implementation, which is not used
340 * EventLog.cs: EventLog implementation that uses registry for
341 keeping track of logs and sources to match .NET (and Windows). When
342 running on Windows NT (and higher), event entries are written to
343 the native win32 event log. Reading event entries is not yet working
344 for Windows. On linux, we use a local file store (based on patch by
346 * UnixEventLog.cs: Event log implementation for linux which uses a
348 * Win32EventLog.cs: Event log implementation for Windows NT and
349 higher which uses the Win32 native event log.
350 * EventLogEntryCollection.cs: Delegate implementation to event log
351 implemenation. Use lazy init for enumerating entries.
353 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
355 * Process.cs: reset the 'start' time if we wait for stdout reading to
358 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
360 * Process.cs: add support for 2.0 asynchronous reads on stdout and
363 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
365 * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
366 Throw ArgumentOutOfRangeException if negative value for CategoryCount
369 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
371 * EventInstance.cs: Added 2.0 class.
372 * EventSourceCreationData.cs: Added 2.0 class.
373 * OverflowAction.cs: Added 2.0 enum.
375 2006-07-31 Sebastien Pouliot <sebastien@ximian.com>
377 * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
378 * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
379 * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
380 an imperative demand for FileIOPermission.Read on GetVersionInfo
381 method. Change ToString method to use a StringBuilder.
382 * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
384 * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on
385 class. Add [Obsolete] for NET_2_0 profile.
386 * Process.cs: Add a linkdemand and an inheritancedemand for
387 unrestricted on class.
388 * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
390 2006-07-16 Andrew Skiba <andrews@mainsoft.com>
392 * Process.cs: throw FileNotFoundException earlier; give more
395 2006-05-16 Dick Porter <dick@ximian.com>
397 * Process.cs: Dispose the handle from a destructor too
399 2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
402 Zoltan was quicker to add it, here I put my implementation ;-)
404 Added some missing long members (not implemented anyways).
405 * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
408 2006-04-01 Zoltan Varga <vargaz@gmail.com>
410 * Stopwatch.cs: New file.
412 2006-03-31 Zoltan Varga <vargaz@gmail.com>
414 * Debug.cs: Add net 2.0 Print methods.
416 2006-03-03 Dick Porter <dick@ximian.com>
418 * Process.cs: Close redirected pipes on errors. Fixes bug 77514.
420 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
422 * ConsoleTraceListener.cs: New 2.0 class
424 2005-11-17 Dick Porter <dick@ximian.com>
426 * Process.cs: Split Start_common into Start_shell and
427 Start_noshell, which call ShellExecuteEx and CreateProcess
428 respectively. Fixes bug 76670.
430 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
432 * Process.cs: deal with the fact that someone can enable raising events
433 and/or registed a Exited delegate before and *after* Start is called for
434 the process. Only queue the exit callback in the threadpool when it's
435 possible and requested. Fixes bug #76129.
437 2005-08-09 Gert Driesen <drieseng@users.sourceforge.net>
439 * EventLog.cs: Fixed Designer attribute to match MS.NET.
440 * ICollectData.cs: Added marshalling attribute to match MS.NET.
441 * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
442 * Process.cs: Fixed Designer attribute to match MS.NET, modified
443 * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
444 * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
445 DesignerSerializationVisibility on StartInfo to match MS.NET, changed
446 Category attribute on Exited event to match MS.NET.
448 2005-06-09 Gert Driesen <drieseng@users.sourceforge.net>
450 * TraceImpl.cs: Adjust internal indentlevel and indentsize before
451 passing on to listeners. Fixes some test failures.
453 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
455 * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
456 runtime uses MONO_TRACE too...
458 2005-05-31 Sebastien Pouliot <sebastien@ximian.com>
460 * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
461 machine names and PerformanceCounterPermissionAccess.
463 2005-02-22 Jonathan Pryor <jonpryor@vt.edu>
465 * TraceImpl.cs: More Thread-safety fixes. I have to lock on
466 Listeners.SyncRoot as we're traversing the collection and can't let the
467 collection change from underneath us while we're iterating over it
468 (alternately, we could clone the collection and iterate over the clone
469 without having locking issues -- assuming we had a lock-free clone --
470 but this would kill the GC). Fixes 69964. Only define lock_ if we're
471 using the lock-free initialization routine; it's not used otherwise.
473 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
475 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration):
476 Use a lock-free algorithm for creating the settings information.
477 * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
478 listeners collection and initializing the world.
480 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
482 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't
483 read the .config file from the static ctor (again), as if it fails we'll
484 get a TypeLoadException -- bad! Instead, lazy-read the .config file.
485 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler):
486 Require that the /switch/add/@value attribute contains only numeric values.
487 * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
488 fails (due to an invalid .confg file) we get a TypeLoadException, while
489 .NET generates a ConfigurationException. Instead, initialize everything
490 the first time the Listeners property is accessed, which allows the static
491 ctor to run without chance of failure, avoiding the TypeLoadException.
492 * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
493 from a static member of TraceImpl (available through the public Debug and
495 * Switch.cs: Leave the original switch value alone. If it isn't valid
496 (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
498 2005-01-17 Jonathan Pryor <jonpryor@vt.edu>
500 * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute
501 isn't optional under .NET 1.1, so make sure it exists.
503 2005-01-13 Jonathan Pryor <jonpryor@vt.edu>
505 * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
506 thread-safe (double-checked locking isn't thread safe on .NET without
507 using a volatile variable, and setting the variable in the static
508 constructor is easier anyway).
509 * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
510 attribute value to the string "0". This is apparently what .NET 1.1 does,
511 and allows the SwitchTest NUnit test to work w/o failures.
513 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
515 * Process.cs: always pass the same arguments to the runtime.
517 2004-09-11 Sebastien Pouliot <sebastien@ximian.com>
519 * EventLogPermission.cs: Completed implementation.
520 * EventLogPermissionAccess.cs: Fixed enum values.
521 * EventLogPermissionEntry.cs: Added validation for machine names.
522 * EventLogPermissionEntryCollection.cs: Added synchronization
523 of entries with the base permission class.
524 * PerformanceCounterPermission.cs: Completed implementation.
525 * PerformanceCounterPermissionAccess.cs: Fixed enum values.
526 * PerformanceCounterPermissionEntry.cs: Added validations for machine
528 * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
529 of entries with the base permission class.
531 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
533 * EventLogPermission.cs: Fixed initialization (TagNames and
534 PermissionAccessType).
535 * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added
536 [Obsolete] to some existing elements.
537 * EventLogPermissionAttribute.cs: Added missing validation to property
538 MachineName. Fixed changes for NET_2_0.
539 * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
540 PermissionAccessType).
541 * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
542 and added [Obsolete] to some existing elements.
543 * PerformanceCounterPermissionAttribute.cs: Added missing validations
544 to properties (Path, MachineName). Fixed changes for NET_2_0.
546 2004-09-07 Dick Porter <dick@ximian.com>
548 * Process.cs: Throw documented exceptions when getting stdin,
549 stdout or stderr and they haven't been redirected. Check that
550 CreatePipe didn't fail, throw exceptions if it did. Close
551 redirected streams when the process is disposed, rather than rely
552 on the GC disposing them later. Makes timeline much happier,
553 because it could run out of file descriptors between GC
556 2004-09-06 Dick Porter <dick@ximian.com>
558 * Process.cs: Make Dispose() actually dispose things.
560 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
562 * Process.cs : quick fix for UseShellExecute=false on windows. See
565 2004-06-17 Lluis Sanchez Gual <lluis@ximian.com>
567 * Process.cs: Added missing check in HasExited property.
569 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
571 * EventLogPermissionAttribute.cs:
572 * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
573 and Inherited to match .NET
575 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
577 * Process.cs: separate the command and the arguments when calling
580 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
582 * Process.cs: redirecting I/O is not permitted if UseShellExecute is
583 true. Also throw if FileName is null.
585 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
587 * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
588 use the constructor that only takes one string as parameter to
589 construct the listener. The name is set using the Name property, not the
592 * TextWriterTraceListener.cs: In Write*, do nothing if no writer was
595 2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
597 * Process.cs: use the ISynchronizeInvoke object to invoke the event.
598 Implemented Close, CloseMainWindow and Kill.
600 2004-03-23 Ben Maurer <bmaurer@users.sourceforge.net>
602 * Switch.cs: Don't throw when there is no switches section.
604 2004-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
606 * Process.cs: support EnableRaisingEvents + Exited event.
608 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
610 * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
611 timeout is int.MaxValue.
613 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
615 * Process.cs: added environment variables setting support and also
616 send useShellExecute to the runtime.
618 * ProcessStartInfo.cs: support EnvironmentVariables. MS uses
619 StringDictionary, which turns keys into lowercase. We don't do that.
621 2004-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
623 * Process.cs: ExitCode and ExitTime check that the process is finished.
625 2003-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
627 * Process.cs: if there's an error when starting the process, the 'pid'
628 field contains the GetLastError code. Use that for the Win32Exception.
630 2003-12-06 Martin Baulig <martin@ximian.com>
632 * DefaultTraceListener: Don't use `where' in variable names.
634 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
636 * ICollectData.cs: Fixed signature
638 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
640 * ICollectData.cs: Added missing attribute
642 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
644 * SRDescriptionAttribute.cs: Moved to System directory
646 2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
648 * EventLog.cs: Implementation handling
649 * EventLogImpl.cs: Added, contains an platform independent empty implementation
652 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
654 * AlphabeticalEnumConverter.cs: Added
655 * EventLogEntry.cs: Implemented
656 * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
657 * EventLogTraceListener.cs: Fixed signature
658 * PerformanceCounter.cs: Added missing attribute
659 * PerformanceCounterType.cs: Added missing attribute
660 * SRDescriptionAttribute.cs: Added and implemented
662 2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
664 * CounterCreationData.cs:
667 * PerformanceCounter.cs:
670 * ProcessStartInfo.cs:
671 * ProcessThread.cs: Reworked attributes based on the new Consts scheme
673 2003-07-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
675 * PerformanceCounterCategory.cs: Fixed signatures
677 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
679 * PerformanceCounter.cs: Implemented or implementation added
681 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
683 * DiagnosticsConfigurationHandler.cs: Removed a never used variable
684 * EventLog.cs: Small update to prevent a warning
685 * EventLogPermission.cs: Implemented or implementation added
686 * EventLogPermissionAttribute.cs: Implemented or implementation added
687 * EventLogPermissionEntry.cs: Implemented or implementation added
688 * EventLogPermissionEntryCollection.cs: Implemented or implementation added
689 * EventLogTraceListener.cs: Implemented or implementation added
690 * PerformanceCounterManager.cs: Implemented or implementation added
691 * PerformanceCounterInstaller.cs: Made internal
692 * PerformanceCounterCategory.cs: Implemented few members
693 * PerformanceCounterPermission.cs: Implemented or implementation added
694 * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
695 * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
696 * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
698 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
700 * EventLog.cs: Removed unneccesary attribute according to corecompare
701 * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
702 * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
703 * ProcessModule.cs: Removed unneccesary attribute according to corecompare
704 * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
705 * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
707 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
709 * InstanceDataCollectionCollection.cs: Corrected wrong signature
710 * EventLog.cs: Missing attributes added, redirected some class members
711 * EventLogEntry.cs: Missing attributes added
712 * EventLogInstaller.cs: Made internal
714 2003-07-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
716 * CounterCreationData.cs: Added missing attributes
717 * CounterSample.cs: Implemented missing rest, fixed signature
718 * CounterSampleCalculator.cs: Added private constructor, redirected function
719 * Process.cs: Added attributes, added event mechanism
720 * ProcessModule.cs: Added missing attributes
721 * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
722 * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
723 * ProcessThread.cs: Added missing attributes, added pseudo constructor
724 * ProcessThreadCollection.cs: Implemented
725 * PerformanceCounterPermission.cs: Fixed typo in class name
726 * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
728 2003-03-19 Dick Porter <dick@ximian.com>
730 * Process.cs: Implement HasExited, fixes bug 39267
732 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
734 * Process.cs: throw an exception when the executable cannot be found.
736 2002-12-20 Jonathan Pryor <jonpryor@vt.edu>
737 * DiagnosticsConfigurationHandler.cs:
738 - Don't assume that optional attributes are always present
739 - <assert/> can't have any child nodes
740 - Change in semantics: if the attribute isn't present,
741 GetAttribute() returns null, not "". This allows us to
742 differentiate between an attribute not being present and an
743 attribute with an empty value.
744 - Translate exceptions if a TraceListener type is invalid
746 2002-12-19 Jonathan Pryor <jonpryor@vt.edu>
747 * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be
748 hardcoded; they should be set to whatever TraceImpl is using (which
749 in turn may have been set by the .config file, so we should get the
750 user-specified values in added listeners).
751 * TraceListener.cs: Make sure that indents are initially written. This
752 allows code that uses Trace.Indent() before a Trace.WriteLine() to be
754 * TraceImpl.cs: provide a static constructor to explicitly specify the
755 ordering of initialization, in particular the ordering of
756 TraceImpl.Listeners and the reading of the .config file (by
757 accessing DiagnosticsConfiguration.Settings). This (hopefully)
758 ensures that the Listeners collection is initialized before the
759 .config file is read in, as the DiagnosticsConfigurationHandler will
760 directly modify the listeners collection.
761 The DiagnosticsConfigurationHandler assumes this so that it can
762 <add/> and <remove/> trace listeners and set the logfile for the
763 DefaultTraceListener.
766 2002-12-18 Jonathan Pryor <jonpryor@vt.edu>
767 * BooleanSwitch.cs: Complete re-write. It works now.
768 * DefaultTraceListener.cs:
769 - Use `const' strings, so I don't worry about copy/paste errors
770 - Give `AssertUiEnabled' an actual backing member
771 * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
772 configuration handler set .config-specified properties on
773 DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
774 (AutoFlush, IndentSize).
775 * Switch.cs: Near complete re-write. Actually works, and is (should be)
776 comformant with .NET behavior. Changed member names because they
777 were confusing me. (Yes, that doesn't say much about my memory.)
778 * TextWriterTraceListener.cs: Append text to already existing files,
779 don't overwrite them.
781 - Added private destructor, to ensure no instances are created.
782 - Move members declarations to be closer to each other.
783 * TraceSwitch.cs: Complete re-write. It works now.
785 2002-12-17 Jonathan Pryor <jonpryor@vt.edu>
786 * DiagnosticsConfigurationHandler.cs: Implement so that .config files
787 support <system.diagnostics> sections.
789 2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
791 * DefaultTraceListener.cs: now OutputDebugStringW is called from an
792 internal call (update your runtime!). No more warnings in linux.
794 2002-10-31 Dick Porter <dick@ximian.com>
796 * Process.cs: MonoIO methods now have an error parameter
798 2002-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
800 * DefaultTraceListener.cs: changed OutputDebugString to
801 OutputDebugStringW (no more warnings under windows). Also a few style
804 2002-10-23 Dick Porter <dick@ximian.com>
806 * Process.cs: Redirected standard input needs to have AutoFlush set
808 2002-09-27 Dick Porter <dick@ximian.com>
810 * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
811 ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
812 Pass the working directory to Start. Pass the program and args in
813 one string to be used with the second arg of CreateProcess, so it
814 will search the path.
816 2002-09-19 Nick Drochak <ndrochak@gol.com>
818 * TraceImpl.cs: Remove debug prints
820 2002-09-19 Nick Drochak <ndrochak@gol.com>
822 * TraceListenerCollection.cs: Set Indet level and size to default
823 values. The values from TraceImpl might have been changed.
825 2002-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
828 * TextWriterTraceListener.cs: IDisposable fixes.
830 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
832 * Process.cs: class status based fixes.
834 2002-07-20 Dick Porter <dick@ximian.com>
836 * Process.cs: Implement file handle redirection
838 2002-07-13 Jonathan Pryor <jonpryor@vt.edu>
839 * CounterCreationData.cs: Implemented
840 * CounterCreationDataCollection.cs: Implemented
841 * CounterSample.cs: Stubbed Out
842 * CounterSampleCalculator.cs: Stubbed Out
843 * InstanceData.cs: Implemented
844 * InstanceDataCollection.cs: Implemented
845 * InstanceDataCollectionCollection.cs: Implemented
846 * MonitoringDescriptionAttribute.cs: Implemented
847 * PerformanceCounter.cs: Stubbed Out
848 * PerformanceCounterCategory.cs: Stubbed Out
849 * PerformanceCounterInstaller.cs: Stubbed Out
850 * PerformanceCounterManager.cs: Stubbed Out
851 * PerformanceCounterPermission.cs: Stubbed Out
852 * PerformanceCounterPermissionAccess.cs: Implemented
853 * PerformanceCounterPermissionAttribute.cs: Stubbed Out
854 * PerformanceCounterPermissionEntry.cs: Stubbed Out
855 * PerformanceCounterPermissionEntryCollection.cs: Implemented
856 * PerformanceCounterType.cs: Implemented
859 2002-06-25 Dick Porter <dick@ximian.com>
861 * Process.cs: Process forking and waiting, and some support functions
863 * ProcessStartInfo.cs: Implemented the bits needed for basic
866 * ProcessModule.cs: Implemented
868 * ProcessModuleCollection.cs: Mostly implemented
870 * FileVersionInfo.cs: Implemented
872 2002-06-16 Jonathan Pryor <jonpryor@vt.edu>
873 * ICollectData.cs: Implemented
874 * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
875 corresponding properties on all current TraceListeners.
876 Also, to answer the FIXME message: Yes, the properties in TraceListener
877 need to be [ThreadStatic] as well.
878 * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
879 should have its properties set to the current TraceImpl property values.
880 * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
882 2002-06-09 Jonathan Pryor <jonpryor@vt.edu>
883 * EntryWrittenEventArgs.cs: Implemented
884 * EntryWrittenEventHandler.cs: Implemented
885 * EventLog.cs: Stubbed out
886 * EventLogEntry.cs: Stubbed out
887 * EventLogEntryCOllection.cs: Implemented.
888 * EventLogEntryType.cs: Implemented
889 * EventLogInstaller.cs: Stubbed out
890 * EventLogPermission.cs: Stubbed out
891 * EventLogPermissionAccess.cs: Implemented
892 * EventLogPermissionAttribute.cs: Stubbed out
893 * EventLogPermissionEntry.cs: Stubbed out
894 * EventLogPermissionEntryCollection.cs: Stubbed out
895 * EventLogTraceListener.cs: Stubbed out
897 2002-05-29 Jonathan Pryor <jonpryor@vt.edu>
898 * DefaultTraceListener.cs: Implemented MONO_TRACE support
900 2002-05-27 Jonathan Pryor <jonpryor@vt.edu>
901 * Moved public API documentation for the following files to the
902 /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
904 - DefaultTraceListener.cs
905 - DiagnosticsConfigurationHandler.cs
907 - TextWriterTraceListener.cs
911 - TraceListenerCollection.cs
914 2002-04-10 Jonathan Pryor <jonpryor@vt.edu>
916 * TraceListenerCollection.cs: Corrected indexer property to provide the
917 correct return value and implement the IList indexer property correctly.
919 2002-04-07 Jonathan Pryor <jonpryor@vt.edu>
921 * TraceListener.cs: Fix stack overflow bug
922 * DefaultTraceListener.cs: Implement log file support
924 2002-04-04 Dick Porter <dick@ximian.com>
926 * ThreadWaitReason.cs:
928 * ThreadPriorityLevel.cs:
929 * ProcessWindowStyle.cs:
930 * ProcessThreadCollection.cs
932 * ProcessStartInfo.cs:
933 * ProcessModuleCollection.cs: Stub out more classes needed for Process
935 2002-03-31 Dick Porter <dick@ximian.com>
938 * ProcessPriorityClass.cs:
940 * FileVersionInfo.cs: Stub out classes needed for Process
942 2002-03-08 Jonathan Pryor <jonpryor@vt.edu>
944 * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which
945 is why TraceImpl.cs is introduced), "DEBUG" conditional support
946 * TraceListener.cs: Proper implementation of Dispose pattern;
947 implementatino of non-abstract methods in terms of abstract methods
948 * TraceListenerCollection.cs: check 'object' types before adding
949 * TextWriterTraceListener.cs: properly implement Dispose pattern;
950 handle NeedIndent and WriteIndent
951 * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
953 * DefaultTraceListener.cs: new file; the default trace listener
955 2002-01-17 Miguel de Icaza <miguel@ximian.com>
956 * TraceListenerCollection.cs: Remove Warnings.
958 2002-01-06 Ravi Pratap <ravi@ximian.com>
959 * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
960 with the MonoTODO attribute.
962 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
963 * Added Debug.cs to the build.
965 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
966 * Added preliminary TraceListenerCollection.cs to the build.
968 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
969 * Added TraceListener.cs, TextWriterTraceListener.cs, and
970 DefaultTraceListener.cs to the build and moved them into the
973 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
974 * Added DiagnosticsConfigurationHandler.cs to the build.
976 2001-09-09 Nick Drochak <ndrochak@gol.com>
977 * BooleanSwitch.cs: Make this class use it's parent class's features. Namely, use SwitchSetting
978 so that we can get OnSwitchSettingChanged() to fire for free.
980 2001-09-09 Nick Drochak <ndrochak@gol.com>
981 * ChangeLog: added this file
982 * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.