Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (sb-alien:load-shared-object "unwind.dll")
- (sb-alien:define-alien-routine
- ("catches_fn" catches-fn)
- sb-alien:void
- (fn (* T)))
- (defun sap-to-callable (ptr)
- (sb-alien:sap-alien
- (sb-alien:alien-sap ptr)
- (function sb-alien:void)))
- (sb-ext:defglobal
- alien-callback
- (sb-alien:alien-sap
- (sb-alien::alien-lambda sb-alien:void ((ptr (* t)))
- (format *error-output* "Lisp callback~%")
- (unwind-protect (sb-alien:alien-funcall (sap-to-callable ptr))
- (format *error-output* "Lisp unwind")))))
- (defun test-seh ()
- (catches-fn alien-callback)
- (values))
- (test-seh)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement