On Jul 24, 2012, at 2:31 PM, Ville Voutilainen wrote:
On 24 July 2012 16:47, Pendergrass, James A. <James.Pendergrass@jhuapl.edu> wrote:
The attached patch is my attempt at modifying LispThread to only hang on to Java Threads using weak references. I haven't tested this extensively, but it solves my problem with out blowing up.
Can you please explain why it checks the thread reference for isAlive(), but performs no reference checks for join()/interrupt()/getStackTrace()?
Because I didn't have a good answer as to what should be done when calling join(), interrupt(), or getStackTrace() on a LispThread for a Java Thread that no longer exists, so throwing the null pointer exception seemed as valid as anything else. For isAlive() I felt the correct answer was to return false as the LispThread is clearly not alive if the Java Thread is gone. -Aaron