Mercurial > urweb
view tests/goodbye.ur @ 1931:1a04b1edded2
Fix regression in http.c for long-polling connections; add lazy initialization of database connections, to avoid the overhead in handlers that don't use SQL
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 11 Dec 2013 14:57:54 -0500 |
parents | c05e2e4bdde7 |
children |
line wrap: on
line source
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>