mono.git
11 years agoxbuild: fix style in test
Andres G. Aragoneses [Mon, 3 Sep 2012 10:38:39 +0000 (11:38 +0100)]
xbuild: fix style in test

Pointed out by Ankit.

11 years agoMerge branch 'xbuild_improvements' of github.com:knocte/mono into xbuild_improvements
Andres G. Aragoneses [Mon, 3 Sep 2012 10:33:22 +0000 (11:33 +0100)]
Merge branch 'xbuild_improvements' of github.com:knocte/mono into xbuild_improvements

11 years agoMSBuild.Engine: use a buildtask enumerator that throws exceptions
Andres G. Aragoneses [Wed, 22 Aug 2012 23:08:32 +0000 (00:08 +0100)]
MSBuild.Engine: use a buildtask enumerator that throws exceptions

InvalidOperationExceptions were not being thrown when asking for the
Current element if the enumerator had finished (or not started)
iterating.

11 years ago[xbuild] Fixed Microsoft.Portable.CSharp.targets to use smcs
Jeffrey Stedfast [Wed, 22 Aug 2012 17:43:36 +0000 (13:43 -0400)]
[xbuild] Fixed Microsoft.Portable.CSharp.targets to use smcs

Fixes bug #6649

11 years agoBetter error message for ref/out argument mismatch
Marek Safar [Tue, 21 Aug 2012 12:44:28 +0000 (14:44 +0200)]
Better error message for ref/out argument mismatch

11 years agoMerge Alexander Chebaturkin SoC 2012 changes
Marek Safar [Tue, 21 Aug 2012 11:58:28 +0000 (13:58 +0200)]
Merge Alexander Chebaturkin SoC 2012 changes

During the Google Summer of Code, I was required to implement Interval Analysis for Code Contracts static verifier (cccheck tool). Please see information of changes at http://chebaturkin.blogspot.com/2012/08/code-contracts-static-verifier.html.

11 years agoEscape windows paths in DWARF debug info.
Zoltan Varga [Mon, 20 Aug 2012 10:08:12 +0000 (12:08 +0200)]
Escape windows paths in DWARF debug info.

11 years agoMerge pull request #435 from mono-soc-2012/svick/dataflow
Jérémie Laval [Mon, 20 Aug 2012 00:24:22 +0000 (17:24 -0700)]
Merge pull request #435 from mono-soc-2012/svick/dataflow

Svick/dataflow

11 years agoFixed race condition in Receive()
Petr Onderka [Sun, 19 Aug 2012 23:38:13 +0000 (01:38 +0200)]
Fixed race condition in Receive()

11 years agoProject file changes by Visual Studio
Petr Onderka [Sun, 19 Aug 2012 23:37:35 +0000 (01:37 +0200)]
Project file changes by Visual Studio

11 years agoFixed race condition in race condition test
Petr Onderka [Sun, 19 Aug 2012 19:29:01 +0000 (21:29 +0200)]
Fixed race condition in race condition test

11 years agoFinished adding documentation for non-public types and methods
Petr Onderka [Sun, 19 Aug 2012 18:34:18 +0000 (20:34 +0200)]
Finished adding documentation for non-public types and methods

11 years agoRemoved nonsensical lock
Petr Onderka [Sun, 19 Aug 2012 17:01:20 +0000 (19:01 +0200)]
Removed nonsensical lock

11 years agoCorrectly implemented Choose()
Petr Onderka [Sun, 19 Aug 2012 15:41:22 +0000 (17:41 +0200)]
Correctly implemented Choose()

11 years agoStarted adding documentation for non-public types and methods
Petr Onderka [Sat, 18 Aug 2012 21:24:31 +0000 (23:24 +0200)]
Started adding documentation for non-public types and methods

Also some minor refactoring

11 years agoFixed completion of PropagatorWrapperBlock
Petr Onderka [Sat, 18 Aug 2012 20:23:51 +0000 (22:23 +0200)]
Fixed completion of PropagatorWrapperBlock

11 years agoRemoved nonsensical call that didn't actually do anything
Petr Onderka [Sat, 18 Aug 2012 18:53:05 +0000 (20:53 +0200)]
Removed nonsensical call that didn't actually do anything

11 years agoNo need to start new Task if there is only one item in the queue
Petr Onderka [Wed, 15 Aug 2012 13:00:25 +0000 (15:00 +0200)]
No need to start new Task if there is only one item in the queue

11 years agoSome tests need more time
Petr Onderka [Mon, 13 Aug 2012 22:01:49 +0000 (00:01 +0200)]
Some tests need more time

11 years agoWork around issue with old NUnit and comparing collections
Petr Onderka [Mon, 13 Aug 2012 22:01:21 +0000 (00:01 +0200)]
Work around issue with old NUnit and comparing collections

11 years agoDon't cancel unstarted Tasks on cancellation
Petr Onderka [Mon, 13 Aug 2012 21:16:41 +0000 (23:16 +0200)]
Don't cancel unstarted Tasks on cancellation

Unstarted Tasks can't be cancelled, because they have to
correctly modify degreeOfParallelism.

11 years agoFixed unit test to work with old NUnit
Petr Onderka [Mon, 13 Aug 2012 14:40:22 +0000 (16:40 +0200)]
Fixed unit test to work with old NUnit

11 years agoHandle consumeToAccept with MaxNumberOfGroups correctly
Petr Onderka [Wed, 8 Aug 2012 22:01:53 +0000 (00:01 +0200)]
Handle consumeToAccept with MaxNumberOfGroups correctly

11 years agoStore multiple exceptions in Completion correctly
Petr Onderka [Wed, 8 Aug 2012 20:34:54 +0000 (22:34 +0200)]
Store multiple exceptions in Completion correctly

11 years agoAdded test for MaxMessages with BroadcastBlock
Petr Onderka [Wed, 8 Aug 2012 20:33:46 +0000 (22:33 +0200)]
Added test for MaxMessages with BroadcastBlock

11 years agoconsumeToAccept shouldn't reserve
Petr Onderka [Sat, 4 Aug 2012 16:27:57 +0000 (18:27 +0200)]
consumeToAccept shouldn't reserve

11 years agoMake sure cancellation behaves the same as faulting wrt output queue
Petr Onderka [Sat, 4 Aug 2012 16:26:05 +0000 (18:26 +0200)]
Make sure cancellation behaves the same as faulting wrt output queue

11 years agoImplemented execution block ctors for async actions
Petr Onderka [Wed, 25 Jul 2012 19:58:06 +0000 (21:58 +0200)]
Implemented execution block ctors for async actions

11 years agoImplemented NullTarget()
Petr Onderka [Mon, 23 Jul 2012 19:25:06 +0000 (21:25 +0200)]
Implemented NullTarget()

11 years agoFixed declaration differences
Petr Onderka [Mon, 23 Jul 2012 18:32:03 +0000 (20:32 +0200)]
Fixed declaration differences

11 years agoMade block interfaces variant
Petr Onderka [Mon, 23 Jul 2012 17:52:09 +0000 (19:52 +0200)]
Made block interfaces variant

11 years agoFixed race condition in OfferMessage()
Petr Onderka [Mon, 23 Jul 2012 17:12:44 +0000 (19:12 +0200)]
Fixed race condition in OfferMessage()

11 years agoCheck key for null in ConcurrentDictionary
Petr Onderka [Wed, 18 Jul 2012 17:30:43 +0000 (19:30 +0200)]
Check key for null in ConcurrentDictionary

11 years agoForgot to use AssertEx
Petr Onderka [Wed, 18 Jul 2012 16:04:22 +0000 (18:04 +0200)]
Forgot to use AssertEx

11 years agoAdded forgotten files to sources
Petr Onderka [Wed, 18 Jul 2012 16:02:51 +0000 (18:02 +0200)]
Added forgotten files to sources

11 years agoThrow the correct exception if Receive() is cancelled
Petr Onderka [Sat, 21 Jul 2012 19:44:17 +0000 (21:44 +0200)]
Throw the correct exception if Receive() is cancelled

11 years agoCheck for null target in ConsumeMessage()
Petr Onderka [Sat, 21 Jul 2012 19:35:16 +0000 (21:35 +0200)]
Check for null target in ConsumeMessage()

Previously, the correct exception was thrown later on,
but only by accident.

11 years agoOnly reserved can be consumed after fault
Petr Onderka [Sat, 21 Jul 2012 18:46:12 +0000 (20:46 +0200)]
Only reserved can be consumed after fault

11 years agoDidn't check for null target in LinkTo() with predicate
Petr Onderka [Sat, 21 Jul 2012 18:15:34 +0000 (20:15 +0200)]
Didn't check for null target in LinkTo() with predicate

11 years agoImplemented OutputAvailableAsync()
Petr Onderka [Sat, 21 Jul 2012 18:12:27 +0000 (20:12 +0200)]
Implemented OutputAvailableAsync()

11 years agoImplemented LinkTo() with predicate
Petr Onderka [Fri, 20 Jul 2012 21:45:16 +0000 (23:45 +0200)]
Implemented LinkTo() with predicate

11 years agoFixed sending from WriteOnceBlock
Petr Onderka [Thu, 19 Jul 2012 21:06:40 +0000 (23:06 +0200)]
Fixed sending from WriteOnceBlock

11 years agoFixed sending from BroadcastBlock
Petr Onderka [Thu, 19 Jul 2012 19:51:17 +0000 (21:51 +0200)]
Fixed sending from BroadcastBlock

11 years agoCorrected Receive() and ReceiveAsync()
Petr Onderka [Wed, 18 Jul 2012 20:30:58 +0000 (22:30 +0200)]
Corrected Receive() and ReceiveAsync()

11 years agoValid header can't have id 0
Petr Onderka [Wed, 18 Jul 2012 15:52:46 +0000 (17:52 +0200)]
Valid header can't have id 0

11 years agoImplemented SendAsync()
Petr Onderka [Mon, 16 Jul 2012 20:43:03 +0000 (22:43 +0200)]
Implemented SendAsync()

11 years agoRelease postponed messages after Complete()
Petr Onderka [Mon, 16 Jul 2012 18:05:36 +0000 (20:05 +0200)]
Release postponed messages after Complete()

11 years agoReleaseReservation() means the message is no longer postponed
Petr Onderka [Mon, 16 Jul 2012 17:19:45 +0000 (19:19 +0200)]
ReleaseReservation() means the message is no longer postponed

11 years agoHandle completion correctly in Receive()
Petr Onderka [Mon, 16 Jul 2012 14:45:43 +0000 (16:45 +0200)]
Handle completion correctly in Receive()

11 years agonew CancellationTokenRegistration().Dispose() shouldn't throw
Petr Onderka [Sat, 7 Jul 2012 22:57:15 +0000 (18:57 -0400)]
new CancellationTokenRegistration().Dispose() shouldn't throw

11 years agoVerify arguments in public methods
Petr Onderka [Wed, 11 Jul 2012 16:52:52 +0000 (18:52 +0200)]
Verify arguments in public methods

11 years agoNegative header ids should be valid
Petr Onderka [Wed, 11 Jul 2012 13:14:38 +0000 (15:14 +0200)]
Negative header ids should be valid

11 years agoMade tests compatible with NUnit 2.4
Petr Onderka [Mon, 9 Jul 2012 16:30:30 +0000 (18:30 +0200)]
Made tests compatible with NUnit 2.4

11 years agoAdded support for MaxNumberOfGroups
Petr Onderka [Sun, 8 Jul 2012 20:48:03 +0000 (22:48 +0200)]
Added support for MaxNumberOfGroups

11 years agoFixed completion of JoinTargets
Petr Onderka [Sun, 8 Jul 2012 18:21:42 +0000 (20:21 +0200)]
Fixed completion of JoinTargets

11 years agoNo need to use .Net 4.5-specific methods
Petr Onderka [Sat, 7 Jul 2012 21:21:46 +0000 (17:21 -0400)]
No need to use .Net 4.5-specific methods

11 years agoFixed tests, so that they work under MS .Net
Petr Onderka [Sat, 7 Jul 2012 21:26:41 +0000 (23:26 +0200)]
Fixed tests, so that they work under MS .Net

Also a small change in ToString().

11 years agoFixed bug in unit test
Petr Onderka [Sat, 7 Jul 2012 21:07:18 +0000 (23:07 +0200)]
Fixed bug in unit test

11 years agoDon't start new tasks after fault
Petr Onderka [Sat, 7 Jul 2012 20:30:50 +0000 (22:30 +0200)]
Don't start new tasks after fault

11 years agoMore fixing of Linux build
Petr Onderka [Sat, 7 Jul 2012 10:51:52 +0000 (06:51 -0400)]
More fixing of Linux build

11 years agoDon't use InternalsVisibleTo for testing
Petr Onderka [Fri, 6 Jul 2012 20:30:29 +0000 (22:30 +0200)]
Don't use InternalsVisibleTo for testing

11 years agoFixed non-greedy blocks with BoundedCapacity
Petr Onderka [Fri, 6 Jul 2012 20:26:24 +0000 (22:26 +0200)]
Fixed non-greedy blocks with BoundedCapacity

11 years agoReplaced Volatile.Write() with the volatile modifier
Petr Onderka [Fri, 6 Jul 2012 15:53:38 +0000 (17:53 +0200)]
Replaced Volatile.Write() with the volatile modifier

Mono doesn't support the generic version of Volatile.Write()

11 years agoTest TriggerBatch() when the block is empty
Petr Onderka [Fri, 6 Jul 2012 15:20:37 +0000 (17:20 +0200)]
Test TriggerBatch() when the block is empty

11 years agoAdded missing files to .sources
Petr Onderka [Fri, 6 Jul 2012 15:06:58 +0000 (17:06 +0200)]
Added missing files to .sources

11 years agoAdded support for Greedy
Petr Onderka [Thu, 5 Jul 2012 21:53:45 +0000 (23:53 +0200)]
Added support for Greedy

11 years agoAdded support for PropagateCompletion
Petr Onderka [Thu, 5 Jul 2012 12:23:06 +0000 (14:23 +0200)]
Added support for PropagateCompletion

11 years agoAdded support for MaxMessages
Petr Onderka [Thu, 5 Jul 2012 10:50:24 +0000 (12:50 +0200)]
Added support for MaxMessages

11 years agoFixed bug in unit test
Petr Onderka [Wed, 4 Jul 2012 21:08:36 +0000 (23:08 +0200)]
Fixed bug in unit test

11 years agoAdded support for BoundedCapacity
Petr Onderka [Wed, 4 Jul 2012 21:03:19 +0000 (23:03 +0200)]
Added support for BoundedCapacity

11 years agoCorrected sending messages to targets in most blocks
Petr Onderka [Wed, 4 Jul 2012 18:48:30 +0000 (20:48 +0200)]
Corrected sending messages to targets in most blocks

11 years agoAdded support for TaskScheduler
Petr Onderka [Tue, 3 Jul 2012 11:56:59 +0000 (13:56 +0200)]
Added support for TaskScheduler

11 years agoPost() after fault should return false
Petr Onderka [Tue, 3 Jul 2012 10:38:52 +0000 (12:38 +0200)]
Post() after fault should return false

11 years agoCorrected handling of exceptions
Petr Onderka [Mon, 2 Jul 2012 22:40:25 +0000 (00:40 +0200)]
Corrected handling of exceptions

Also fixed some race conditions.

11 years agoHandle null results in TransformManyBlock correctly
Petr Onderka [Sun, 1 Jul 2012 12:30:38 +0000 (14:30 +0200)]
Handle null results in TransformManyBlock correctly

11 years agoExceptions during execution cause the block to fault
Petr Onderka [Sun, 1 Jul 2012 12:28:12 +0000 (14:28 +0200)]
Exceptions during execution cause the block to fault

11 years agoFixed MaxDegreeOfParallelism, added support for MaxMessagesPerTask
Petr Onderka [Sat, 30 Jun 2012 16:50:29 +0000 (18:50 +0200)]
Fixed MaxDegreeOfParallelism, added support for MaxMessagesPerTask

11 years agoAdded support for cancallation to all blocks
Petr Onderka [Sat, 30 Jun 2012 13:48:49 +0000 (15:48 +0200)]
Added support for cancallation to all blocks

11 years agoAdded support for NameFormat to all blocks
Petr Onderka [Sat, 30 Jun 2012 13:11:28 +0000 (15:11 +0200)]
Added support for NameFormat to all blocks

11 years agoUnit test for deadlock that was in JoinBlock
Petr Onderka [Fri, 29 Jun 2012 20:02:55 +0000 (22:02 +0200)]
Unit test for deadlock that was in JoinBlock

11 years agoAdded BatchedJoinBlock`3
Petr Onderka [Fri, 29 Jun 2012 18:11:28 +0000 (20:11 +0200)]
Added BatchedJoinBlock`3

11 years agoImplemented BatchedJoinBlock
Petr Onderka [Mon, 25 Jun 2012 21:07:19 +0000 (23:07 +0200)]
Implemented BatchedJoinBlock

11 years agoRemove "optimization" that could cause a deadlock
Petr Onderka [Mon, 25 Jun 2012 18:24:40 +0000 (20:24 +0200)]
Remove "optimization" that could cause a deadlock

11 years agoFixed deadlock in JoinBlock by using a lock
Petr Onderka [Mon, 25 Jun 2012 18:09:14 +0000 (20:09 +0200)]
Fixed deadlock in JoinBlock by using a lock

11 years agoRefactored code related to JoinTarget
Petr Onderka [Mon, 25 Jun 2012 17:28:47 +0000 (19:28 +0200)]
Refactored code related to JoinTarget

11 years agoFixed infinite recursion in BatchBlock.TryReceive
Petr Onderka [Mon, 25 Jun 2012 16:42:44 +0000 (18:42 +0200)]
Fixed infinite recursion in BatchBlock.TryReceive

11 years agoMerge pull request #428 from paszczi/master
Miguel de Icaza [Fri, 17 Aug 2012 18:37:18 +0000 (11:37 -0700)]
Merge pull request #428 from paszczi/master

Fix ArgumentOutOfRangeException in HttpListenerManager.TryDequeueRequest when timeout is less than 0

11 years agoAvoid a crash in SET_KEEPALIVE if the socket transport is not initialized.
Zoltan Varga [Thu, 16 Aug 2012 20:10:40 +0000 (22:10 +0200)]
Avoid a crash in SET_KEEPALIVE if the socket transport is not initialized.

11 years agoFix g_strsplit() when delimiter at end-of-string and at max_count.
Jonathan Pryor [Thu, 16 Aug 2012 19:10:38 +0000 (15:10 -0400)]
Fix g_strsplit() when delimiter at end-of-string and at max_count.

Suppose you want to split a `name=value` string:

char** kvp = g_strsplit ("name=value", "=", 2);
// kvp[0] is "name", kvp[1] is "value"

That works, but what if the string is "malformed" and missses a value?

char** kvp = g_strsplit ("name=", "=", 2);
// kvp[0] is "name", kvp[1] is "="

A value of "=" makes no sense here: values returned from
g_strsplit() shouldn't contain delimeter unless max_count is specified
and it's _within_ the last string; it's also not what GLib does.

What makes sense is a value of "" (the empty string), which IS what
GLib does (so it's compatible and sensible).

Fix g_strsplit() to use the empty string when the "rest" value would
otherwise be the delimiter.

11 years ago[System.Xml.Linq] Add error checking to the XElement constructors
Alan McGovern [Thu, 16 Aug 2012 14:23:17 +0000 (15:23 +0100)]
[System.Xml.Linq] Add error checking to the XElement constructors

Added matching tests.

11 years agoSearching for an attributes in probing mode should not report errors for other attrib...
Marek Safar [Thu, 16 Aug 2012 10:49:13 +0000 (12:49 +0200)]
Searching for an attributes in probing mode should not report errors for other attributes. Fixes #6529

11 years agoFix best params candidate rules for overloads with non-default arguments. Fixes ...
Marek Safar [Thu, 16 Aug 2012 08:28:11 +0000 (09:28 +0100)]
Fix best params candidate rules for overloads with non-default arguments. Fixes #6541

11 years agoInline AM_COND_IF for configure to work with ancient aclocal
Marek Safar [Thu, 16 Aug 2012 07:09:16 +0000 (08:09 +0100)]
Inline AM_COND_IF for configure to work with ancient aclocal

11 years agoFree the newly added assembly->remapped_tokens hashtable.
Zoltan Varga [Thu, 16 Aug 2012 00:47:15 +0000 (02:47 +0200)]
Free the newly added assembly->remapped_tokens hashtable.

11 years agoFree the newly added assembly->remapped_tokens hashtable.
Zoltan Varga [Thu, 16 Aug 2012 00:45:15 +0000 (02:45 +0200)]
Free the newly added assembly->remapped_tokens hashtable.

11 years agoHandle ConstructorBuilders in fixup_cattrs () correctly. Fixes #689533 (nemerle build).
Zoltan Varga [Thu, 16 Aug 2012 00:04:02 +0000 (02:04 +0200)]
Handle ConstructorBuilders in fixup_cattrs () correctly. Fixes #689533 (nemerle build).

11 years agoMerge pull request #430 from Nican/master
Marek Safar [Wed, 15 Aug 2012 12:41:52 +0000 (05:41 -0700)]
Merge pull request #430 from Nican/master

Infinite recursion with GetCurrentDirectory and security enabled

11 years agoFixed incorrect line spacing
Nican [Wed, 15 Aug 2012 05:35:03 +0000 (01:35 -0400)]
Fixed incorrect line spacing

11 years agoWhen enabling security with "mono_security_enable_core_clr" on a Windows machine...
Nican [Wed, 15 Aug 2012 05:31:09 +0000 (01:31 -0400)]
When enabling security with "mono_security_enable_core_clr" on a Windows machine, it causes an infinite recession when calling System.IO.Directory.GetCurrentDirectory.

The loop is happening between these calls:
https://github.com/mono/mono/blob/92d8961e0b244429d4d82176f4b33c8a4b3b064c/mcs/class/corlib/System.IO/Path.cs#L298
https://github.com/mono/mono/blob/3c39ac4586b4470703fb4af0208b5baf1de70e43/mcs/class/corlib/System.Security.Permissions/FileIOPermission.cs#L157
https://github.com/mono/mono/blob/9322e0d16b0edc054947279af34d3c7afb286c89/mcs/class/corlib/System.IO/Directory.cs#L248

Stack trace as follows:

The requested operation caused a stack overflow.  at (wrapper managed-to-native) System.IO.MonoIO:GetCurrentDirectory (System.IO.MonoIOError&)
  at System.IO.Directory.GetCurrentDirectory () [0x00000] in <filename unknown>:0
  at System.IO.Path.WindowsDriveAdjustment (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Path.InsecureGetFullPath (System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission.AddPathInternal (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission.AddPathList (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission..ctor (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Directory.GetCurrentDirectory () [0x00000] in <filename unknown>:0
  at System.IO.Path.WindowsDriveAdjustment (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Path.InsecureGetFullPath (System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission.AddPathInternal (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission.AddPathList (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.Security.Permissions.FileIOPermission..ctor (FileIOPermissionAccess access, System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Directory.GetCurrentDirectory () [0x00000] in <filename unknown>:0
  at System.IO.Path.WindowsDriveAdjustment (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Path.InsecureGetFullPath (System.String path) [0x00000] in <filename unknown>:0
...Snip...

11 years agoEmit AOT line number information on osx/ios too.
Zoltan Varga [Wed, 15 Aug 2012 04:47:28 +0000 (06:47 +0200)]
Emit AOT line number information on osx/ios too.