plt/racket — pull request #736 by mordae (2014-07-17 10:28:18+00:00)
Title: allow mixing exceptions with ffi/unsafe/alloc

Use call-as-atomic that can handle exceptions instead of dynamic-winding
start-atomic and end-atomic. Exceptions can be found in the functions's
result wrapper such as:

(define-lib find-some-object
(_fun (name : _string/utf-8)
(object : (_ptr o _some-object-pointer))
--> (result : _int)
--> (begin
(when (negative? result)
(error 'find-some-object "unknown name"))
object))
#:wrap (allocator free-some-object))

Signed-off-by: Jan Dvořák