mirror of
				https://github.com/python/cpython.git
				synced 2025-10-25 18:54:53 +00:00 
			
		
		
		
	Issue #23243: Fix asyncio._UnixWritePipeTransport.close()
Do nothing if the transport is already closed. Before it was not possible to close the transport twice.
This commit is contained in:
		
							parent
							
								
									7e222f411c
								
							
						
					
					
						commit
						41ed958ee6
					
				
					 2 changed files with 4 additions and 1 deletions
				
			
		|  | @ -516,7 +516,7 @@ def write_eof(self): | |||
|             self._loop.call_soon(self._call_connection_lost, None) | ||||
| 
 | ||||
|     def close(self): | ||||
|         if not self._closing: | ||||
|         if self._pipe is not None and not self._closing: | ||||
|             # write_eof is all what we needed to close the write pipe | ||||
|             self.write_eof() | ||||
| 
 | ||||
|  |  | |||
|  | @ -766,6 +766,9 @@ def test_close(self): | |||
|         tr.close() | ||||
|         tr.write_eof.assert_called_with() | ||||
| 
 | ||||
|         # closing the transport twice must not fail | ||||
|         tr.close() | ||||
| 
 | ||||
|     def test_close_closing(self): | ||||
|         tr = unix_events._UnixWritePipeTransport( | ||||
|             self.loop, self.pipe, self.protocol) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner