Hello Francois,
> Line3: if Assigned(OnMyEvent) then
> Line4: OnMyEvent(Self, MyArg);
Very interesting issue. Because almost all components are coded like
this. Very interesting solution also, clean and simple :)
---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamic
> procedure TMyComponent.TriggerMyEvent(MyArg : Integer);
> begin
>EnterCriticalSection(SomeSection);
>if Assigned(OnMyEvent) then
>OnMyEvent(Self, MyArg);
>LeaveCriticalSection(SomeSection);
> end;
>
> Now we're certain that nothing would change OnMyEvent between the
> "if...th
Hello!
>>> I've found an interesting multithreading issue which is related not only
>>> to
>>> ICS component but many many other components I've seen so far. It is a
>>> race
>>> condition between two thread where one is triggering an event handler and
>>> the other is removing (setting to nil)
>> I've found an interesting multithreading issue which is related not only
>> to
>> ICS component but many many other components I've seen so far. It is a
>> race
>> condition between two thread where one is triggering an event handler and
>> the other is removing (setting to nil) the event hand
Hello!
> I've found an interesting multithreading issue which is related not only to
> ICS component but many many other components I've seen so far. It is a race
> condition between two thread where one is triggering an event handler and
> the other is removing (setting to nil) the event handl
I've found an interesting multithreading issue which is related not only to
ICS component but many many other components I've seen so far. It is a race
condition between two thread where one is triggering an event handler and
the other is removing (setting to nil) the event handler.
Consider th
> I wonder why the limit is 100 and not more. When I hit the F5 button on a
> crowded PHPBB page, I get the "limit reached" exception! This is a HTTPS
> reverse proxy.
Tis is a limit I select arbitrary. It should be adjusted after some
evaluation. Nevertheless, whatever the limit is, a new hidden