chickadee » concurrent-native-callbacks » define-synchronous-concurrent-native-callback

(define-synchronous-concurrent-native-callback (NAME (FOREIGNTYPE1 ARGUMENT1) ...) RESULTTYPE BODY ...)syntax

Defines a "synchronous" callback that will wait until the Scheme handler returns with a result. Only result-types that do not refer to data on the garbage-collected Scheme heap are valid The compiler will emit a warning should a such a result-type occur in RESULTTYPE (data like byte-vectors can be allocated statically, which would be valid in this case).

Synchronous callbacks must not be invoked from the same (native) thread that is executing the Scheme runtime system or the process will hang indefinitely.