MCPcopy Index your code
hub / github.com/RustPython/RustPython / lock_opt

Method lock_opt

crates/vm/src/stdlib/_io.rs:2810–2817  ·  view source on GitHub ↗
(
            &self,
            vm: &VirtualMachine,
        )

Source from the content-addressed store, hash-verified

2808
2809 impl TextIOWrapper {
2810 fn lock_opt(
2811 &self,
2812 vm: &VirtualMachine,
2813 ) -> PyResult<PyThreadMutexGuard<'_, Option<TextIOData>>> {
2814 self.data
2815 .lock_wrapped(|do_lock| vm.allow_threads(do_lock))
2816 .ok_or_else(|| vm.new_runtime_error("reentrant call inside textio"))
2817 }
2818
2819 fn lock(&self, vm: &VirtualMachine) -> PyResult<PyMappedThreadMutexGuard<'_, TextIOData>> {
2820 let lock = self.lock_opt(vm)?;

Callers 3

initMethod · 0.80
slot_initMethod · 0.80
lockMethod · 0.80

Calls 3

ok_or_elseMethod · 0.80
lock_wrappedMethod · 0.80
allow_threadsMethod · 0.80

Tested by

no test coverage detected