Thrift: OCaml and HS servers more general

Summary: The library now provides servers that are general like the other languages.
Reviewed by: mcslee
Test plan: Yes
Revert plan: yes


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665195 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/hs/src/TServer.hs b/lib/hs/src/TServer.hs
index c71882c..83a6ee3 100644
--- a/lib/hs/src/TServer.hs
+++ b/lib/hs/src/TServer.hs
@@ -11,19 +11,19 @@
                             if v then proc_loop hand proc ps
                                 else return ()
 
-accept_loop hand sock proc transgen iprotgen oprotgen = 
-    do (h,hn,_) <- accept sock
+accept_loop accepter hand sock proc transgen iprotgen oprotgen = 
+    do (h,hn,_) <- accepter sock
        let t = transgen h 
        let ip = iprotgen t
        let op = oprotgen t
        forkIO (handle (\e -> return ()) (proc_loop hand proc (ip,op)))
-       accept_loop hand sock proc transgen iprotgen oprotgen
+       accept_loop accepter hand sock proc transgen iprotgen oprotgen
        
-run_threaded_server hand proc port transgen iprotgen oprotgen = 
-    do sock <- listenOn (PortNumber port)
-       accept_loop hand sock proc transgen iprotgen oprotgen
+run_threaded_server accepter listener hand proc port transgen iprotgen oprotgen = 
+    do sock <- listener
+       accept_loop accepter hand sock proc transgen iprotgen oprotgen
        return ()
        
 
 -- A basic threaded binary protocol socket server.
-run_basic_server hand proc port = run_threaded_server hand proc port TChannelTrans TBinaryProtocol TBinaryProtocol
+run_basic_server hand proc port = run_threaded_server accept (listenOn (PortNumber port)) hand proc port TChannelTrans TBinaryProtocol TBinaryProtocol