En Fri, 12 Mar 2010 12:15:16 -0300, Pete Emerson <pemer...@gmail.com> escribió:

I'm trying to get threading going for the first time in python, and
I'm trying to modify code I found so that I can have the server close
the TCP connections and exit gracefully. Two problems:

Which Python version?

1) While the KeyboardInterrupt works, if I make more than 0 curls to
the server and then quit, I can't run it again right away and get
this:
socket.error: [Errno 48] Address already in use

Not all of my connections are closing properly. How do I fix this?

2) curling localhost:8080/quit does show the "Quitting" output that I
expect, but doesn't quit the server until I manually control-c it.

On Python 2.6, you should call the shutdown() method (from another thread!) instead of simply server_close() See this recipe [1] -- just look at the main() function (disregard all the previous details); it runs the server(s) in their own thread, the main thread just sits and waits for KeyboardInterrupt or SystemExit.

[1] http://code.activestate.com/recipes/577025

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to