[Seaside] Computation has been terminated

Avi Bryant seaside@lists.squeakfoundation.org
Mon, 13 Jan 2003 11:57:20 -0800 (PST)


Derek,

At the point that a session is asked to handle a request, it captures the
current continuation and stores it in the instance variable 'shortJmp'
(which should now probably be renamed to something like 'escapeRequest').
Whenever the response is finished, it invokes this continuation using
#oneShotValue, and #handleRequest: returns.

The point of #oneShotValue is that it can only be invoked once - which is
what we want here, since for each request there can only be one response.
If you try to invoke a continuation with #oneShotValue twice (ie, if you
try to respond twice to the same request), you will get the "Computation
has been terminated" error.  Essentially, you can interpret that error as
"you've been messing about in the guts of Session and are violating some
essential invariant it depends on".

What does your custom Session subclass actually do?

 On Sat, 11 Jan 2003, Derek Brans wrote:

> So, I'm getting a little error.
>
> The first page of my application loads fine, but when I click on any
> links I get the error:
>
> "Computation has been terminated"
>
> Method Context>>cannotReturn
> Continuation>>oneShotValue
> [] in XESession(WASession)>>handleRequest:response:
>
> Any ideas?
>
> Thanks,
> Derek
>
>
>
> Nerd on a Wire: Web and Information Solutions
> Website Design - Database Systems - Site Hosting
> 604.874.6463
> mailto:info@nerdonawire.com
> For more information, visit http://nerdonawire.com
>
> _______________________________________________
> Seaside mailing list
> Seaside@lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/seaside
>