[Tcl Java] Re: [Tcl Java] what I now know about the deadlock

2000-06-14 Thread Dr Wes Munsil
I hope you will tell me "SOLUTION 1, and Tclblend_Init doesn't matter in this context," because that seems to fix my problem. Dr Wes Munsil wrote: Please give me your advice. I've instrumented TclBlend to look for the pattern of execution of MonitorEnter/MonitorExit calls and have learned

[Tcl Java] RE: [Tcl Java] Re: [Tcl Java] what I now know about the deadlock

2000-06-14 Thread W. John Guineau
Without having looked into the innerds of TclBlend's JNI implementation (though it looks quite clean at least) I'd say that removing the monitor calls and JAVA_LOCK are probably fine. I say this because we have a decent size app (~250K lines of C/C++/Java) that uses a JNI layer I wrote. I never

[Tcl Java] RE: [Tcl Java] what I now know about the deadlock

2000-06-14 Thread Jiang Wu
A small correction. My patch does NOT remove the monitor calls in JAVA_LOCK/JAVA_UNLOCK. The patch fixes problems encountered if you load Tcl into a running JVM, which is the opposite way of using TclBlend comparing how you are using TclBlend. I also think removing all instances of

[Tcl Java] Re: [Tcl Java] what I now know about the deadlock

2000-06-14 Thread Dr Wes Munsil
Sorry, you are quite correct; I was not clear. When I refered to "Jiang's patch," I actually meant "the patch at http://www.mail-archive.com/tcljava@scriptics.com/msg00598/tclblend.patch, plus Jiang's suggestion to remove the monitor calls from JAVA_LOCK and JAVA_UNLOCK." Thank you for allowing

[Tcl Java] Re: [Tcl Java] what I now know about the deadlock

2000-06-14 Thread Dr Wes Munsil
Mo DeJong wrote: On Tue, 13 Jun 2000, Dr Wes Munsil wrote: 1) Tclblend_Init is never called. Consequently the call of MonitorEnter in that function is never executed. That does not seem right. The Tclblend_Init method should be invoked by Tcl during the load command (like load

[Tcl Java] patch for deadlock

2000-06-14 Thread Dr Wes Munsil
The patch I ended up with to solve the Solaris deadlock issue combines Jiang Wu's patch and the removal of all MonitorEnter and MonitorExit calls. The diffs between TclBlend 1.2.5 and my version are at http://idd.com/~wes/tclblendpatch. Note also that the class tcl.lang.NativeLock may now be