mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	bpo-46771: Remove two controversial lines from Task.cancel() (GH-31623)
Also from the _asyncio C accelerator module, and adjust one test that the change caused to fail. For more discussion see the discussion starting here: https://github.com/python/cpython/pull/31394#issuecomment-1053545331 (Basically, @asvetlov proposed to return False from cancel() when there is already a pending cancellation, and I went along, even though it wasn't necessary for the task group implementation, and @agronholm has come up with a counterexample that fails because of this change. So now I'm changing it back to the old semantics (but still bumping the counter) until we can have a proper discussion about this.)
This commit is contained in:
		
							parent
							
								
									08deed1af5
								
							
						
					
					
						commit
						7d611b4cab
					
				
					 3 changed files with 17 additions and 6 deletions
				
			
		|  | @ -514,7 +514,11 @@ async def task(): | |||
|             self.assertTrue(t.cancel()) | ||||
|             self.assertTrue(t.cancelling()) | ||||
|             self.assertIn(" cancelling ", repr(t)) | ||||
|             self.assertFalse(t.cancel()) | ||||
| 
 | ||||
|             # Since we commented out two lines from Task.cancel(), | ||||
|             # this t.cancel() call now returns True. | ||||
|             # self.assertFalse(t.cancel()) | ||||
|             self.assertTrue(t.cancel()) | ||||
| 
 | ||||
|             with self.assertRaises(asyncio.CancelledError): | ||||
|                 loop.run_until_complete(t) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum