Lock callbacks in memory

slava 2006-10-16 22:06:34 +00:00
parent b5039442ab
commit c8ca1997a0
2 changed files with 9 additions and 2 deletions

View File

@ -1,7 +1,6 @@
- live search: timer delay would be nice - live search: timer delay would be nice
- help responder has no way to access { "foo" "bar" } - help responder has no way to access { "foo" "bar" }
- httpd search tools - httpd search tools
- lock callbacks
+ ui: + ui:

View File

@ -4,6 +4,14 @@ IN: alien
USING: compiler errors generic hashtables inference USING: compiler errors generic hashtables inference
kernel namespaces sequences strings words parser prettyprint ; kernel namespaces sequences strings words parser prettyprint ;
! Callbacks are registered in a global hashtable. If you clear
! this hashtable, they will all be blown away by code GC, beware
SYMBOL: callbacks
H{ } clone callbacks set-global
: register-callback ( word -- ) dup callbacks get set-hash ;
TUPLE: alien-callback return parameters quot xt ; TUPLE: alien-callback return parameters quot xt ;
C: alien-callback make-node ; C: alien-callback make-node ;
@ -26,7 +34,7 @@ M: alien-callback-error summary
pop-literal nip over set-alien-callback-quot pop-literal nip over set-alien-callback-quot
pop-literal nip over set-alien-callback-parameters pop-literal nip over set-alien-callback-parameters
pop-literal nip over set-alien-callback-return pop-literal nip over set-alien-callback-return
gensym over set-alien-callback-xt gensym dup register-callback over set-alien-callback-xt
callback-bottom callback-bottom
] "infer" set-word-prop ] "infer" set-word-prop