yuriy at couldbedone.com
Wed Jul 25 11:59:25 UTC 2012
thank you for so quick fix!
I'll build mono with your fix and let you know how it works.
It seems that a lot of our previously reported problems with sockets
are due to ObjectPool.
On Wed, Jul 25, 2012 at 2:43 PM, Jérémie Laval <jeremie.laval at gmail.com> wrote:
> There were indeed two bugs in there, a missing barrier and the issue you
> I also commented out the code if you want more details.
> Jérémie Laval
> On Wed, Jul 25, 2012 at 11:54 AM, Greg Young <gregoryyoung1 at gmail.com>
>> We have had some moving forward in our mono stability issues. I
>> figured I would start up a chat here about one place that seems to be
>> causing many problems.
>> I am not really sure the code here is actually thread safe... Maybe it
>> doesn't need to be for some reason?
>> We have added volatiles for add/remove index (yuriy pointed out that
>> threads were often stuck at line 86) but even with that im still not
>> sure its actually threadsafe. There are some weird edge conditions
>> that seem to be here (like if CompareExchange fails 3 times it will
>> just never set the remove index and continue on).
>> Somebody has obviously spent a lot of time thinking about this code
>> and optimizing it. I want to make sure we get the full "why" behind
>> things so we dont a) waste time b) introduce issues.
>> Le doute n'est pas une condition agréable, mais la certitude est absurde.
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
(y.solodkyy at gmail.com)
More information about the Mono-devel-list