mirror of
				https://github.com/python/cpython.git
				synced 2025-11-01 06:01:29 +00:00 
			
		
		
		
	 d687900f98
			
		
	
	
		d687900f98
		
			
		
	
	
	
	
		
			
			Make `warnings.catch_warnings()` use a context variable for holding the warning filtering state if the `sys.flags.context_aware_warnings` flag is set to true. This makes using the context manager thread-safe in multi-threaded programs. Add the `sys.flags.thread_inherit_context` flag. If true, starting a new thread with `threading.Thread` will use a copy of the context from the caller of `Thread.start()`. Both these flags are set to true by default for the free-threaded build and false for the default build. Move the Python implementation of warnings.py into _py_warnings.py. Make _contextvars a builtin module. Co-authored-by: Kumar Aditya <kumaraditya@python.org>
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			605 B
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			605 B
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
| /*[clinic input]
 | |
| preserve
 | |
| [clinic start generated code]*/
 | |
| 
 | |
| PyDoc_STRVAR(_contextvars_copy_context__doc__,
 | |
| "copy_context($module, /)\n"
 | |
| "--\n"
 | |
| "\n");
 | |
| 
 | |
| #define _CONTEXTVARS_COPY_CONTEXT_METHODDEF    \
 | |
|     {"copy_context", (PyCFunction)_contextvars_copy_context, METH_NOARGS, _contextvars_copy_context__doc__},
 | |
| 
 | |
| static PyObject *
 | |
| _contextvars_copy_context_impl(PyObject *module);
 | |
| 
 | |
| static PyObject *
 | |
| _contextvars_copy_context(PyObject *module, PyObject *Py_UNUSED(ignored))
 | |
| {
 | |
|     return _contextvars_copy_context_impl(module);
 | |
| }
 | |
| /*[clinic end generated code: output=26e07024451baf52 input=a9049054013a1b77]*/
 |