chicken-users
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]