[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Safely holding on to a <procedure> reference in C
From: |
Felix |
Subject: |
Re: [Chicken-users] Safely holding on to a <procedure> reference in C |
Date: |
Tue, 22 Feb 2011 12:40:24 +0100 (CET) |
From: Naitik Shah <address@hidden>
Subject: [Chicken-users] Safely holding on to a <procedure> reference in C
Date: Sun, 20 Feb 2011 20:55:24 -0800
Here is a stupid example for using GC-roots:
#>
void *proc;
void initproc(___scheme_value x)
{
proc = CHICKEN_new_gc_root();
CHICKEN_gc_root_set(proc, x);
}
void callin();
void callproc()
{
callin(CHICKEN_gc_root_ref(proc));
}
<#
(define-external (callin (scheme-object proc)) void
(proc))
(define (foo) (print "yo!"))
((foreign-lambda void "initproc" scheme-object) foo)
(gc)
((foreign-safe-lambda void "callproc"))
cheers,
felix
Re: [Chicken-users] Safely holding on to a <procedure> reference in C,
Felix <=