> OK, again not knowing *anything* about ASP -- the above > sounds like the reporting loop is examining a *copy* of the > session variable that was created when the reporting process > initialized; it needs to examine the actual current state. As long as the report loop checks Session("cancel") it should get the current value. Unless for some reason the second frame connection is creating a new session. Are cookies disabled on the client? > Alternatively, does ASP have any concept of an Listener? Wrap > your reporting code in a class that implements a Listener > that'll pass an interrupt event to the loop when it occurs? No inheritance of any kind, it's strictly interpreted script. ASP.NET overcomes this problem very nicely, all languages are first-class OO with compilation and caching.