fix #3186 (thanks dkirov)
This commit is contained in:
		
							parent
							
								
									24c8a3dcd1
								
							
						
					
					
						commit
						7dd8a27b39
					
				
					 1 changed files with 11 additions and 6 deletions
				
			
		|  | @ -121,6 +121,7 @@ class P2PClient(IdleObject): | |||
| 			self.sock_type = TYPE_SERVER | ||||
| 		else: | ||||
| 			self.sock_type = TYPE_CLIENT | ||||
| 		self.fd = -1 | ||||
| 		conn = P2PConnection('', _sock, host, port, self._caller, self.on_connect, self) | ||||
| 		self.sock_hash = conn._sock.__hash__ | ||||
| 		self.fd = conn.fd | ||||
|  | @ -129,10 +130,14 @@ class P2PClient(IdleObject): | |||
| 		for val in self.stanzaqueue: | ||||
| 			stanza, is_message = val | ||||
| 			if is_message: | ||||
| 				if self.conn_holder.number_of_awaiting_messages.has_key(self.fd): | ||||
| 					self.conn_holder.number_of_awaiting_messages[self.fd]+=1 | ||||
| 				if self.fd == -1: | ||||
| 					self._caller.dispatch('MSGERROR',[unicode(self.to), -1, \ | ||||
|                                         _('Connection to host could not be established'), None, None]) | ||||
| 				else: | ||||
| 					self.conn_holder.number_of_awaiting_messages[self.fd]=1 | ||||
| 					if self.conn_holder.number_of_awaiting_messages.has_key(self.fd): | ||||
| 						self.conn_holder.number_of_awaiting_messages[self.fd]+=1 | ||||
| 					else: | ||||
| 						self.conn_holder.number_of_awaiting_messages[self.fd]=1 | ||||
| 	 | ||||
| 	def add_stanza(self, stanza, is_message = False): | ||||
| 		if self.Connection: | ||||
|  | @ -207,11 +212,11 @@ class P2PClient(IdleObject): | |||
| 	 | ||||
| 	def on_disconnect(self): | ||||
| 		if self.conn_holder: | ||||
| 			if self.conn_holder.number_of_awaiting_messages.has_key(self.fd): | ||||
| 				if self.conn_holder.number_of_awaiting_messages[self.fd] > 0: | ||||
| 			if self.conn_holder.number_of_awaiting_messages.has_key(self.conn_holder.fd): | ||||
| 				if self.conn_holder.number_of_awaiting_messages[self.conn_holder.fd] > 0: | ||||
| 					self._caller.dispatch('MSGERROR',[unicode(self.to), -1, \ | ||||
| 					_('Connection to host could not be established'), None, None]) | ||||
| 				del self.conn_holder.number_of_awaiting_messages[self.fd] | ||||
| 				del self.conn_holder.number_of_awaiting_messages[self.conn_holder.fd] | ||||
| 			self.conn_holder.remove_connection(self.sock_hash)  | ||||
| 		if self.__dict__.has_key('Dispatcher'): | ||||
| 			self.Dispatcher.PlugOut() | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue