cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Antonio Gallardo" <agalla...@agssa.net>
Subject Re: Rhino from mozilla.org and continuations
Date Fri, 17 Sep 2004 17:54:54 GMT
Hi Igor:

You are a Cocoon heroe!

Please, write down: I owe you a beer! ;-)

Best Regards,

Antonio Gallardo

Igor Bukanov dijo:
> Hi!
>
> http://bugzilla.mozilla.org/show_bug.cgi?id=258844 contains a working
> patch against Rhino CVS from mozilla.org to enable Continuation support
> there.
>
> Note although the implementation is based on ideas from Christopher
> Oliver patch it is not a patch port.
>
> In particular, there is no support for catch (continue|break|return) but
>   on the same time finally is respected, so the example from
> http://wiki.apache.org/cocoon/RhinoWithContinuations
>
> var pool = ...;
>
> function someFunction() {
>
>      var conn = pool.getConnection();
>      ...
>
>      catch (break) {
>          conn.close();
>          conn = null;
>      }
>
>      catch (continue) {
>          conn = pool.getConnection();
>      }
> }
>
> with the patch would like:
>
> var pool = ...;
>
> function someFunction() {
>
>      var conn = null;
>      try {
>          if (conn == null) {
>              conn = pool.getConnection();
>          }
>          ...
>      } finally {
>          conn.close();
>          conn = null;
>      }
> }
>
> That is, if the control leaves "..." during continuation jump, then
> finally will be executed in the same way as it would be executed if ...
> contains return, throws exceptions etc.
>
> Another "differences" is that ContinuationException support for
> continuations across eval/Function.apply|call is not implemented yet.
>
> On the other hand Continuation usage is the same as with Christopher's
> patch including support for serialization so the last example from
> http://wiki.apache.org/cocoon/RhinoWithContinuations does work.
>
> Regards, Igor
>


Mime
View raw message