summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/socket/socket009.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/lib/socket/socket009.hs')
-rw-r--r--testsuite/tests/lib/socket/socket009.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuite/tests/lib/socket/socket009.hs b/testsuite/tests/lib/socket/socket009.hs
new file mode 100644
index 0000000000..c34334e691
--- /dev/null
+++ b/testsuite/tests/lib/socket/socket009.hs
@@ -0,0 +1,28 @@
+-- Sigbjorn and I don't understand what this test is meant to do
+-- It simply hangs on stdin!
+
+import IO -- 1.3
+
+import System(getArgs)
+
+main = getArgs >>= \ [user,host] ->
+ let username = (user ++ "@" ++ host) in
+ openFile username ReadWriteMode >>= \ cd ->
+ hSetBuffering stdin NoBuffering >>
+ hSetBuffering stdout NoBuffering >>
+ hSetBuffering cd NoBuffering >>
+ hPutStr cd speakString >>
+ speak cd
+
+speakString = "Someone wants to speak with you\n"
+
+speak cd =
+ (hReady cd >>= \ ready ->
+ if ready then (hGetChar cd >>= putChar)
+ else return () >>
+
+ hReady stdin >>= \ ready ->
+ if ready then (getChar >>= hPutChar cd)
+ else return ()) >>
+
+ speak cd