| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e3c533a commit 35748aa
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -716,7 +716,15 @@ pub mod module { | |||
| 716 | 716 | vm.signal_handlers | |
| 717 | 717 | .get_or_init(crate::signal::new_signal_handlers); | |
| 718 | 718 | ||
| 719 | - let after_forkers_child: Vec<PyObjectRef> = vm.state.after_forkers_child.lock().clone(); | ||
| 719 | + let after_forkers_child = match vm.state.after_forkers_child.try_lock() { | ||
| 720 | + Some(guard) => guard.clone(), | ||
| 721 | + None => { | ||
| 722 | + // SAFETY: After fork in child process, only the current thread | ||
| 723 | + // exists. The lock holder no longer exists. | ||
| 724 | + unsafe { vm.state.after_forkers_child.force_unlock() }; | ||
| 725 | + vm.state.after_forkers_child.lock().clone() | ||
| 726 | + } | ||
| 727 | + }; | ||
| 720 | 728 | run_at_forkers(after_forkers_child, false, vm); | |
| 721 | 729 | } | |
| 722 | 730 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments