src/Pure/Concurrent/lazy.ML
changeset 66166 c88d1c36c9c3
parent 62923 3a122e1e352a
child 66167 1bd268ab885c
equal deleted inserted replaced
66161:c6e9c7d140ff 66166:c88d1c36c9c3
    64       Thread_Attributes.uninterruptible (fn restore_attributes => fn () =>
    64       Thread_Attributes.uninterruptible (fn restore_attributes => fn () =>
    65         let
    65         let
    66           val (expr, x) =
    66           val (expr, x) =
    67             Synchronized.change_result var
    67             Synchronized.change_result var
    68               (fn Expr e =>
    68               (fn Expr e =>
    69                     let val x = Future.promise I
    69                     let val x = Future.promise_name "lazy" I
    70                     in ((SOME e, x), Result x) end
    70                     in ((SOME e, x), Result x) end
    71                 | Result x => ((NONE, x), Result x));
    71                 | Result x => ((NONE, x), Result x));
    72         in
    72         in
    73           (case expr of
    73           (case expr of
    74             SOME e =>
    74             SOME e =>