On 20.12 21:52, Pupeno wrote: > It works, but I have the following problems: > When I run server "10013" from ghci, the prompt returns immediately and if I > do a query to that port I don't get anything, until I go and press enter on > ghci and the daytime is sent to the client. Like if the prompt was blocking > all IO or something like that. > The other problem is that I tried to make a program, so I made > DaytimeServer.hs:
Your problem is that the ghci prompt *is* blocking everything. ghci is builded non-threaded. Ghci uses a blocking call to read the lines which means that all other computations are stopped. > I compile it and run it. It returns immediately and the server of course, is > not running. It spawns the server threads and returns immediately. > I think what I am missing is that server, after running runStreamServer > should > block and be able to reply to all the queries (in the final version I'll also > have runDgramServer as well) and be able to receive a signal, upon which it > should close the socket and finish. How can do that ? Any help will be > appreciated. Catch the signal and kill the listening threads. If you are using the new 0.3.1 release then you can use the killServer call. ps. I think it may be best to continue on haskell-cafe@ rather than the main list. - Einar Karttunen _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell