--- In [email protected], Gordon Smith <gosm...@...> wrote:
>>>>>
Yes, that is what Alex is saying. Handler B will not begin before
handler A finishes. Event handlers don't get paused. Furthermore, when
you (or the Player) calls dispatchEvent(), all the event handlers
listening for that event execute before dispatchEvent() returns.
>>>>>

I really want to believe this assertion, and I hate to belabor the
point, but I'm troubled by the observed behavior in the Debug Player
under IE8.  In this case, a run-time error was thrown by the handler of
a network event and the standard dialog was displayed.  This condition
exposed a problem in our network message parser, which caused subsequent
network events to also display run-time errors.  I was unsettled to find
that a new dialog was displayed, and a new Windows OS-level thread
created with each run-time error, even though I hadn't dismissed the
initial error dialog.  It appeared that the network event handler code
executed and threw a run-time exception with each message received from
the network, regardless.
This would seem to be an exception to the behavior stated above; does a
run-time error dialog cause the execution context to pause and allow
other event handlers to be executed?
If so, is this only possible in the Debug Player, or do we have to worry
about protecting against possible re-entrance in handlers that access
global data?

Reply via email to