# HG changeset patch # User wenzelm # Date 1185979727 -7200 # Node ID 24e5587603b4d3eb01ed23f20ffb8e4b2dca607d # Parent fecafd71e7581733d87452ce6065e912f9654c1a "running": PROTECTED wakeup; "cont": actually invoke wakeup!! diff -r fecafd71e758 -r 24e5587603b4 src/Pure/ML-Systems/multithreading_polyml.ML --- a/src/Pure/ML-Systems/multithreading_polyml.ML Tue Jul 31 23:23:34 2007 +0200 +++ b/src/Pure/ML-Systems/multithreading_polyml.ML Wed Aug 01 16:48:47 2007 +0200 @@ -137,10 +137,9 @@ | Exn.Exn exn => (PROTECTED "status" (fn () => status := exn :: ! status); continue cont)) | (Task.Finished, _) => - (PROTECTED "running" (fn () => (dec active; dec running)); - wakeup_all ())) + (PROTECTED "running" (fn () => (dec active; dec running; wakeup_all ())))) and continue cont = - (PROTECTED "cont" (fn () => queue := cont (! queue)); wakeup_all; work ()); + (PROTECTED "cont" (fn () => queue := cont (! queue); wakeup_all ()); work ()); (*main control: fork and wait*) fun fork 0 = ()