Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We've run into numerous issues where we've code executed in forked processes has deadlocked because resources (i.e., locks) from the parent process were not cleaned up (i.e., unlocked) in the forked process. Rather than continue this trend, we should always attempt to minimize the code executed in a forked process and if we're doing anything fancy do an exec right away. In particular, we should only be calling async-signal-safe functions in forked code.