2010-12-01  Jérémie Laval  <jeremie.laval@gmail.com>

	[ReaderWriterLockSlim] Fix for #656353. Add corresponding unit
	test.

	When in SupportsRecursion mode, a test was not including proper
	state check for short-circuiting.

	Conflicts:

	mcs/class/System.Core/System.Threading/ReaderWriterLockSlim.cs

2010-11-23  Jérémie Laval  <jeremie.laval@gmail.com>

	Fix ReaderWriterLockSlim Exit methods in SupportsRecursion mode
	and add corresponding unit tests

2010-09-29  Jérémie Laval  <jeremie.laval@gmail.com>

	[ReaderWriterLockSlim] Fix state corruption and race in a special
	interleaving.

	Fix possible state corruption in the case where Upgradeable wasn't
	reactivating its read bit after a downgrade and set events
	accordingly. Fix possible race where a write process wannabe could
	step in the middle of Upgradeable actually upgrading to write
	mode.

	Conflicts:

	mcs/class/System.Core/System.Threading/ReaderWriterLockSlim.cs

2010-09-28  Jérémie Laval  <jeremie.laval@gmail.com>

	Turn Is*LockHeld properties into thread-specific values in
	ReaderWriterLockSlim. Add corresponding unit tests.

2010-09-22  Jérémie Laval  <jeremie.laval@gmail.com>

	Also set readerDoneEvent when exiting an upgradeable lock and
	reader condition is correct.

	It could cause a deadlock when a writer tested the rwlock value
	before RwRead was removed and another Upgradeable operation
	happened at the same time.

2010-09-14  Gonzalo Paniagua Javier  <gonzalo.mono@gmail.com>

	From master

2010-09-01  Jérémie Laval  <jeremie.laval@gmail.com>

	Allow recursive Write + n * Read lock pattern for
	ReaderWriterLockSlim and add corresponding unit test

2010-09-01  Jérémie Laval  <jeremie.laval@gmail.com>

	Generalize ThreadLockState to include recursive count informations
	and update them accordingly in the different Enter/Exit methods

2010-09-01  Jérémie Laval  <jeremie.laval@gmail.com>

	Split ReaderWriterLockSlim helper classes into their own files

2010-08-31  Jérémie Laval  <jeremie.laval@gmail.com>

	Fix non 4.0 build of ReaderWriterLockSlim.

	It needs to be cleaned up though.

2010-08-31  Jérémie Laval  <jeremie.laval@gmail.com>

	Enable basic recursion support in ReaderWriterLockSlim. Works when
	reacquiring lock of the same type.

2010-08-31  Jérémie Laval  <jeremie.laval@gmail.com>

	Use ManualResetEventSlim instances to wait for lock changes
	instead of hardcoded Thread.Sleep calls in ReaderWriterLockSlim.

2010-08-31  Jérémie Laval  <jeremie.laval@gmail.com>

	Remove unused bit position constants in ReaderWriterLockSlim

2010-08-31  Jérémie Laval  <jeremie.laval@gmail.com>

	Finish reimplementation of ReaderWriterLockSlim so that it pass
	unit tests.

2010-08-27  Jérémie Laval  <jeremie.laval@gmail.com>

	Refactor ThreadLockState acquisition into a real per-thread,
	per-rwlock-instance value

2010-08-26  Jérémie Laval  <jeremie.laval@gmail.com>

	Rework ReaderWriterLockSlim to use simpler Interlocked arithmetic.

2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>

	* ReaderWriterLockSlim.cs : fix deadlock when entered
	  read lock -> entered writer lock -> exited writer lock
	  -> exited read lock and then entered reader lock.
	  Fixed bug #512485, patch by Kazuki Oikawa.

2009-06-10  Marek Safar  <marek.safar@gmail.com>

	* LockRecursionException.cs: Updated to 4.0 changes.

2009-01-18  Marek Safar <marek.safar@gmail.com>

	* ReaderWriterLockSlim.cs: Implemented all properties.

2008-12-02  Marek Safar <marek.safar@gmail.com>

	* ReaderWriterLockSlim.cs: Initial merge.

2008-09-05  Marek Safar <marek.safar@gmail.com>

	* ChangeLog: Added

