Changeset 102

Show
Ignore:
Timestamp:
06/26/04 12:01:18 (4 years ago)
Author:
jajcus
Message:

- handle EOF gracefully instead of eating 100% of CPU time

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/jjigw/ircsession.py

    r100 r102  
    203203                    self.lock.acquire() 
    204204                if self.socket in id: 
    205                     self.input_buffer+=self.socket.recv(1024) 
    206                     while self.input_buffer.find("\r\n")>-1: 
    207                         input,self.input_buffer=self.input_buffer.split("\r\n",1) 
    208                         self._safe_process_input(input) 
     205                    r=self.socket.recv(1024) 
     206                    if r: 
     207                        self.input_buffer+=r 
     208                        while self.input_buffer.find("\r\n")>-1: 
     209                            input,self.input_buffer=self.input_buffer.split("\r\n",1) 
     210                            self._safe_process_input(input) 
     211                    else: 
     212                        try: 
     213                            self.socket.close() 
     214                        except: 
     215                            pass 
     216                        self.socket=None 
     217                        self.exited=1 
    209218                elif self.socket in ed: 
    210219                    try: