cs: repair for callbacks that might throw exceptions

The callable used to trigger stack unwinding was unlocked during
initialization, but it shouldn't be.
This commit is contained in:
Matthew Flatt 2021-03-19 07:03:45 -06:00
parent 3952355d30
commit a50aa9d164

View File

@ -2010,9 +2010,7 @@
[else [else
(let ([fptr (make-ftype-pointer ptr->ptr call)]) (let ([fptr (make-ftype-pointer ptr->ptr call)])
(let ([v (ftype-ref ptr->ptr () fptr)]) (let ([v (ftype-ref ptr->ptr () fptr)])
(unlock-object ;; must leave the callable code object locked
(foreign-callable-code-object
(ftype-pointer-address fptr)))
v))]))) v))])))
;; ---------------------------------------- ;; ----------------------------------------