adam@0: type t = source bool adam@0: adam@0: fun create r = adam@0: b <- source False; adam@0: spawn (sleep r.Milliseconds; adam@0: b <- get b; adam@0: if b then adam@0: return () adam@0: else adam@0: r.Action); adam@0: return b adam@0: adam@0: fun cancel b = set b True