I took another look at the JLS and it does seem to be
perfectly legal to keep a ref to an object after the
finalize() method has been run. Because of this, it
is possible to turn the CObject into a TclEvent
and enqueue it directly. The only catch is that
CObject already extends InternalRep, and MI
I did not see any objections to the thread cleanup patches
I posted, so I checked them into the CVS along with a fix
that adds a mutex to access some global variables. If
you want to get these changes, you will have to check
them out of the sourceforge CVS. As you may have heard,
the Tcl project i
On Sun, 22 Oct 2000, Jiang Wu wrote:
> Let's not forget there is a problem with the putting object on a queue for
> deletion by the interpreter. As the GC may run at a random time, it is
> possible when a Cobject is being finalized, the associated interpreter is
> already deleted.
>
> 1. Create
Boy, I must have been on crack yesterday. The patch I posted
that used a global table to keep a legal ref to a cleanup
object was way way too complex. After rereading section 12.6.1
of the JLS, I realized the error of my ways.
http://java.sun.com/docs/books/jls/second_edition/html/execution.doc.h
Jiang Wu wrote:
> Let's not forget there is a problem with the putting object on a queue for
> deletion by the interpreter. As the GC may run at a random time, it is
> possible when a Cobject is being finalized, the associated interpreter is
> already deleted.
>
> 1. Create a thread,
> 2. Add a
Let's not forget there is a problem with the putting object on a queue for
deletion by the interpreter. As the GC may run at a random time, it is
possible when a Cobject is being finalized, the associated interpreter is
already deleted.
1. Create a thread,
2. Add a Tcl interpreter
3. Do some Tcl
Mo DeJong wrote:
> On Sat, 21 Oct 2000, Dan Wickstrom wrote:
>
> > >
> > > What does your src/tclblend/tcl/lang/CObject.java finalize()
> > > method look like? I thought the last round of patches left
> > > that ptr dangling on purpose. I have not has time to
> >
> > Yes the finalize method just