Diff of /sandbox/jlf/samples/concurrency/coactivity.cls [r7908] .. [r7909] Maximize Restore

  Switch to side-by-side view

--- a/sandbox/jlf/samples/concurrency/coactivity.cls
+++ b/sandbox/jlf/samples/concurrency/coactivity.cls
@@ -125,6 +125,7 @@
 ::method uninit
     expose coactivityObj
     coactivityObj~end
+    coactivityObj = .nil -- strange !!!! Without this assignment, I *NEVER* see a call to CoactivityObj~uninit
 
 
 --::method unknown
@@ -327,6 +328,11 @@
     if self~hasMethod("onTerminate") then self~onTerminate
     if self~class~hasMethod("onTerminate") then self~class~onTerminate(self)
     .Coactivity~unregister(self)
+    -- Fighting against objects which are not GC'ed...
+    -- Should be done in uninit, but uninit rarely called by the interpreter...
+    arguments = .nil
+    doer = .nil
+    object = .nil
     if self~isKilled & condition("o") <> .nil then raise propagate