mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
Initial file
This commit is contained in:
parent
f6252d3185
commit
8f00b39db1
3 changed files with 45 additions and 0 deletions
17
examples/callbacks/Makefile
Normal file
17
examples/callbacks/Makefile
Normal file
|
@ -0,0 +1,17 @@
|
|||
all: calls
|
||||
|
||||
sys.o: sys.c
|
||||
cc -c sys.c
|
||||
|
||||
calls.c: calls.scm
|
||||
cyclone -d calls.scm
|
||||
|
||||
calls: sys.o calls.c
|
||||
cc calls.c -O2 -Wall -I/usr/local/include -c -o calls.o
|
||||
cc calls.o /usr/local/share/cyclone/scheme/cyclone/common.o /usr/local/share/cyclone/scheme/base.o /usr/local/share/cyclone/srfi/18.o /usr/local/share/cyclone/scheme/write.o -pthread -lcyclone -lck -lm -lcyclonebn -ldl -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -I/usr/local/include -L/usr/local/lib -Wl,--export-dynamic -o calls
|
||||
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.o calls.c calls
|
22
examples/callbacks/calls.scm
Normal file
22
examples/callbacks/calls.scm
Normal file
|
@ -0,0 +1,22 @@
|
|||
(import (scheme base)
|
||||
(scheme write)
|
||||
(srfi 18))
|
||||
|
||||
;;(include-c-header "sys.c")
|
||||
|
||||
(define *done* #f)
|
||||
(define *dummy signal-done) ;; Hack to prevent optimizing-out signal-done
|
||||
|
||||
(define (signal-done obj)
|
||||
(write `(Called from C set *done* to ,obj))
|
||||
(newline)
|
||||
(set! *done* obj)
|
||||
#t)
|
||||
|
||||
(define (wait)
|
||||
(thread-sleep! 1)
|
||||
(if *done*
|
||||
#t
|
||||
(wait)))
|
||||
|
||||
(wait)
|
6
examples/callbacks/sys.c
Normal file
6
examples/callbacks/sys.c
Normal file
|
@ -0,0 +1,6 @@
|
|||
#include "cyclone/types.h"
|
||||
|
||||
extern object __glo_signal_91done;
|
||||
void call_scm(object obj)
|
||||
{
|
||||
}
|
Loading…
Add table
Reference in a new issue