[Mono-bugs] [Bug 645675] Socket.Complete throws InvalidOperationException on Queue.Dequeue

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Oct 13 14:51:03 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=645675

https://bugzilla.novell.com/show_bug.cgi?id=645675#c6


--- Comment #6 from Gonzalo Paniagua Javier <gonzalo at novell.com> 2010-10-13 18:51:03 UTC ---
See for the explanation in the commit message
http://github.com/mono/mono/commit/936c28ad162fd7cb7d843ac6e8c87803d3e66bbf

The case that should not happen inside that lock, queue.Count == 0, occures in
this scenario:

Thread1 enters the lock
  Thread2 waits for the lock
Thread1 finds out the socket has been disposed and forces all the queued
operations to finish.
Thread1 exits the lock
Thread2 enters the lock and boom.

There is not socket abuse involved here. A BeginRead and a BeginWrite that are
pending when the socket is closed might get to this error.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list