Forbid multiple uses of a suspend-script continuation
This commit is contained in:
parent
bffc3757cb
commit
970baf7a36
|
@ -991,6 +991,7 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(define suspended-fid (current-facet-id))
|
(define suspended-fid (current-facet-id))
|
||||||
(define in? (in-script?))
|
(define in? (in-script?))
|
||||||
|
(define stale? #f)
|
||||||
(define raw-resume-parent
|
(define raw-resume-parent
|
||||||
(capture-facet-context
|
(capture-facet-context
|
||||||
(lambda results
|
(lambda results
|
||||||
|
@ -998,6 +999,10 @@
|
||||||
(apply k results)))))
|
(apply k results)))))
|
||||||
(define resume-parent
|
(define resume-parent
|
||||||
(lambda results
|
(lambda results
|
||||||
|
(when stale? (error 'suspend-script
|
||||||
|
"Attempt to resume suspension (suspended at ~a) more than once"
|
||||||
|
where))
|
||||||
|
(set! stale? #t)
|
||||||
(abort-current-continuation
|
(abort-current-continuation
|
||||||
prompt-tag
|
prompt-tag
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
|
Loading…
Reference in New Issue