Olivier Sannier wrote:
> Arno Garrels wrote:
>> Olivier Sannier wrote:
>>> Arno Garrels wrote:
>>>> Olivier Sannier wrote:
>>>>> Assert(Assigned(GWndHandlerPool), 'GWndHandlerPool is already nil,
>>>>> check your threads!!!');
>>>> I just wonder whether we shouldn't check "not GUnitFinalized"
>>>> rather than "Assigned(GWndHandlerPool)", what do you think?
>>> No we should not as it would go against the whole concept of the
>>> proposed patch.
>>> The basic idea is that it is quite easy to get the situation where
>>> the unit is finalized but sockets are still connected and working.
>>> So the
>>> patch allows to continue working in this situation without any
>>> crash, letting either the finalization section or the last socket
>>> (whichever comes last) to destroy the global handle pool.
>> Assert(not GUnitFinalized..) would not change this goal, it just
>> would throw an error (earlier) in cases when a thread tries to
>> create new sockets even though finalization has been passed and
>> GWndHandlerPool is not yet nil. I do not understand why you want a
>> thread being able to create new sockets in this situation?
> Well, you are quite right, I just felt it would be "cleaner" to assert
> on the very element that would trigger an access violation two lines
> below. I thought it would be clearer for users why we test on
> GWndHandlerPool rather than testing on GUnitFinalized.
I prefer the test on not GUnitFinalized but I can live with
both, I never run into this problem since I close all threads
before I terminate the application.
So let's the boss decide, strange that he did not reply so far.
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be