Mercurial > urweb
diff tests/goodbye.ur @ 1707:c05e2e4bdde7
Refactor to avoid dependence on recursive mutexes
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 08 Apr 2012 16:24:16 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/goodbye.ur Sun Apr 08 16:24:16 2012 -0400 @@ -0,0 +1,26 @@ +table boo : { Client : client, Channel : channel unit } + +fun doIt () = + me <- self; + ch <- channel; + dml (INSERT INTO boo (Client, Channel) VALUES ({[me]}, {[ch]})); + return <xml><body onload={let + fun loop () = + v <- recv ch; + alert "Someone left"; + loop () + in + loop () + end}/></xml> + +task clientLeaves = fn cl => + debug "Client left"; + dml (DELETE FROM boo WHERE Client = {[cl]}); + queryI (SELECT (boo.Channel) + FROM boo) + (fn r => send r.1 ()); + debug "Done processing" + +fun main () = return <xml><body> + <form> <submit action={doIt}/> </form> +</body></xml>