mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Revert "bpo-44645: Check for interrupts on any potentially backwards edge. (GH-27167)" (#27194)
This reverts commit 000e70ad52.
			
			
This commit is contained in:
		
							parent
							
								
									e9cd47d0e5
								
							
						
					
					
						commit
						c90c591e51
					
				
					 2 changed files with 1 additions and 31 deletions
				
			
		|  | @ -1604,31 +1604,6 @@ def test_interrupt_main_invalid_signal(self): | ||||||
|         self.assertRaises(ValueError, _thread.interrupt_main, signal.NSIG) |         self.assertRaises(ValueError, _thread.interrupt_main, signal.NSIG) | ||||||
|         self.assertRaises(ValueError, _thread.interrupt_main, 1000000) |         self.assertRaises(ValueError, _thread.interrupt_main, 1000000) | ||||||
| 
 | 
 | ||||||
|     @threading_helper.reap_threads |  | ||||||
|     def test_can_interrupt_tight_loops(self): |  | ||||||
|         cont = True |  | ||||||
|         started = False |  | ||||||
|         iterations = 100_000_000 |  | ||||||
| 
 |  | ||||||
|         def worker(): |  | ||||||
|             nonlocal iterations |  | ||||||
|             nonlocal started |  | ||||||
|             started = True |  | ||||||
|             while cont: |  | ||||||
|                 if iterations: |  | ||||||
|                     iterations -= 1 |  | ||||||
|                 else: |  | ||||||
|                     return |  | ||||||
|                 pass |  | ||||||
| 
 |  | ||||||
|         t = threading.Thread(target=worker) |  | ||||||
|         t.start() |  | ||||||
|         while not started: |  | ||||||
|             pass |  | ||||||
|         cont = False |  | ||||||
|         t.join() |  | ||||||
|         self.assertNotEqual(iterations, 0) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class AtexitTests(unittest.TestCase): | class AtexitTests(unittest.TestCase): | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3638,17 +3638,14 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int throwflag) | ||||||
|             if (Py_IsFalse(cond)) { |             if (Py_IsFalse(cond)) { | ||||||
|                 Py_DECREF(cond); |                 Py_DECREF(cond); | ||||||
|                 JUMPTO(oparg); |                 JUMPTO(oparg); | ||||||
|                 CHECK_EVAL_BREAKER(); |  | ||||||
|                 DISPATCH(); |                 DISPATCH(); | ||||||
|             } |             } | ||||||
|             err = PyObject_IsTrue(cond); |             err = PyObject_IsTrue(cond); | ||||||
|             Py_DECREF(cond); |             Py_DECREF(cond); | ||||||
|             if (err > 0) |             if (err > 0) | ||||||
|                 ; |                 ; | ||||||
|             else if (err == 0) { |             else if (err == 0) | ||||||
|                 JUMPTO(oparg); |                 JUMPTO(oparg); | ||||||
|                 CHECK_EVAL_BREAKER(); |  | ||||||
|             } |  | ||||||
|             else |             else | ||||||
|                 goto error; |                 goto error; | ||||||
|             DISPATCH(); |             DISPATCH(); | ||||||
|  | @ -3665,14 +3662,12 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int throwflag) | ||||||
|             if (Py_IsTrue(cond)) { |             if (Py_IsTrue(cond)) { | ||||||
|                 Py_DECREF(cond); |                 Py_DECREF(cond); | ||||||
|                 JUMPTO(oparg); |                 JUMPTO(oparg); | ||||||
|                 CHECK_EVAL_BREAKER(); |  | ||||||
|                 DISPATCH(); |                 DISPATCH(); | ||||||
|             } |             } | ||||||
|             err = PyObject_IsTrue(cond); |             err = PyObject_IsTrue(cond); | ||||||
|             Py_DECREF(cond); |             Py_DECREF(cond); | ||||||
|             if (err > 0) { |             if (err > 0) { | ||||||
|                 JUMPTO(oparg); |                 JUMPTO(oparg); | ||||||
|                 CHECK_EVAL_BREAKER(); |  | ||||||
|             } |             } | ||||||
|             else if (err == 0) |             else if (err == 0) | ||||||
|                 ; |                 ; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pablo Galindo Salgado
						Pablo Galindo Salgado