[Tutor] Exception thrown by socket.recv() and whacking threads (original) (raw)
Jeroen Vogelpoel n.a.vogelpoel at chello.nl
Wed Jul 7 16:26:39 CEST 2004
- Previous message: [Tutor] Re: Config Files
- Next message: [Tutor] Data format question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Good day,
I'm currently busy with a script that involves some simple multithreading and sockets, however, I've run into some minor problems regarding exception handling and shutting down/killing threads. Here is a simple snippet of code with some of the relevant code:
=== def run( self ): if self.boolConnected == False: return 0 while True: try: strReceived = self.socket.recv( 1024 ) except Exception: exit() else: self.intTotalBytesRecv += len( strReceived ) self.strBuffer += strReceived for strMessage in self._parseNewlines(): self.funcOutput( strMessage )
socket.recv() throwns an Exception "error" when the socket is being disconnected if it's still trying to read from the socket. Is there not a nice and clean way to catch and handle "error" exceptions, other then catching "Exception"? Besides, I'd expect an "IOError" when reading from a disconnected socket, not some uncatchable semi-exception thingamajig... What gives?
Also, I wonder wether it's possible to shut down/kill threads ( threading.Thread to be precise ) outside of the main run() method. That way, the entire deal with aforementioned exceptions can be ignore as I can just kill the thread, then disconnect the socket.
Cheers,
- Jeroen Vogelpoel
- Previous message: [Tutor] Re: Config Files
- Next message: [Tutor] Data format question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]