Mercurial > urweb
view tests/channelThief.ur @ 2174:ce312cad5ecd
Use correct OpenSSL thread safety macros on OS X (closes #209)
Create an Autoconf test to determine if pthread_t is a pointer or scalar
type, and use the appropriate CRYPTO_THREADID_set macro based on the
result.
author | Benjamin Barenblat <bbaren at mit.edu> |
---|---|
date | Sun, 20 Sep 2015 17:46:07 -0400 |
parents | a671e5258a2c |
children |
line wrap: on
line source
table t : { Ch : channel string } fun go () = let fun overwrite () = dml (DELETE FROM t WHERE TRUE); ch <- channel; dml (INSERT INTO t (Ch) VALUES ({[ch]})); return ch fun retrieve () = oneRowE1 (SELECT (t.Ch) FROM t) fun transmit () = ch <- retrieve (); send ch "Test" fun listenOn ch = s <- recv ch; alert s in ch <- overwrite (); return <xml><body onload={listenOn ch}> <button value="overwrite" onclick={fn _ => ch <- rpc (overwrite ()); listenOn ch}/> <button value="retrieve" onclick={fn _ => ch <- rpc (retrieve ()); listenOn ch}/> <button value="transmit" onclick={fn _ => rpc (transmit ())}/> </body></xml> end fun main () = return <xml><body> <form><submit action={go}/></form> </body></xml>