[E-Lang] Bug Report

Chris Hibbert hibbert@agorics.com
Tue, 27 Feb 2001 18:28:18 -0800 (PST)


ELib's Runner.callNow(..) and Runner.now(..)
(http://www.erights.org/javadoc/org/erights/e/elib/prim/Runner.html)
are not defined in a way that works correctly with multiple vats in a
single JVM.  They both execute a delivery synchronously in a thread
external to a vat, but logically within the recipient Runner.  The
problem is that E.send(..) figures out which Runner it's in by using
Thread.currentThread(), which gives the invoker's thread rather than
the Runner's thread.

We're about to fix it on a working copy of 0.8.9, so it should be
fixed in the next E release.  Since no E language users are currently
using multiple vats per JVM, this bug should be fixed before any E
language users encounter it.  But ELib programmers should beware.

    --MarkM with Chris Hibbert & Dean Tribble