annotate tests/spawn.ur @ 1907:cb57ba73a61d

make uninstall: Uninstall types_cpp.h, urweb_cpp.h Signed-off-by: Anders Kaseorg <andersk@mit.edu> --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
author Anders Kaseorg <andersk@mit.edu>
date Fri, 22 Nov 2013 09:36:14 -0500
parents 7ea0df9e56b6
children
rev   line source
adamc@694 1 table t : {A : int, Ch : channel string}
adamc@694 2
adamc@694 3 fun listener n ch =
adamc@694 4 s <- recv ch;
adamc@694 5 alert (show n ^ ": " ^ s);
adamc@694 6 listener n ch
adamc@694 7
adamc@694 8 fun speak id msg =
adamc@694 9 r <- oneRow (SELECT t.Ch FROM t WHERE t.A = {[id]});
adamc@694 10 send r.T.Ch msg
adamc@694 11
adamc@694 12 fun main () : transaction page =
adamc@694 13 ch1 <- channel;
adamc@694 14 dml (INSERT INTO t (A, Ch) VALUES (1, {[ch1]}));
adamc@694 15 ch2 <- channel;
adamc@694 16 dml (INSERT INTO t (A, Ch) VALUES (2, {[ch2]}));
adamc@694 17
adamc@694 18 s1 <- source "";
adamc@694 19 s2 <- source "";
adamc@694 20
adamc@694 21 return <xml><body onload={spawn (listener 1 ch1); spawn (listener 2 ch2)}>
adamc@694 22 1: <ctextbox source={s1}/><button onclick={msg <- get s1; speak 1 msg}/><br/>
adamc@694 23 2: <ctextbox source={s2}/><button onclick={msg <- get s2; speak 2 msg}/>
adamc@694 24 </body></xml>