[Tcl Java] Final try at improved CObject free patch.

2000-10-22 Thread Mo DeJong
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

[Tcl Java] Tcl/Java project moves to sourceforge!

2000-10-22 Thread Mo DeJong
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

[Tcl Java] Re: possible memory.

2000-10-22 Thread Mo DeJong
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

[Tcl Java] Re: possible memory.

2000-10-22 Thread Mo DeJong
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

[Tcl Java] Re: possible memory.

2000-10-22 Thread Dan Wickstrom
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

[Tcl Java] Re: possible memory.

2000-10-22 Thread Jiang Wu
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

[Tcl Java] Re: possible memory.

2000-10-22 Thread Dan Wickstrom
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