gdb/darwin: remove not-so-harmless spurious call to `wait4`
As seen in https://sourceware.org/bugzilla/show_bug.cgi?id=24069 this code will typically wait4() a second time on the same process that was already wait4()'d a few lines above. While this used to be harmless/idempotent (when we assumed that the process already exited), this now causes a deadlock in the WIFSTOPPED case. The early (~2019) history of bug #24069 cautiously suggests to use WNOHANG instead of outright deleting the call. However, tests on the current version of Darwin (Big Sur) demonstrate that gdb runs just fine without a redundant call to wait4(), as would be expected. Notwithstanding the debatable value of conserving bug compatibility with an OS release that is more than a decade old, there is scant evidence of what that double-wait4() was supposed to achieve in the first place - A cursory investigation with `git blame` pinpoints commits bb00b29d and a80b95ba from the 2008-2009 era, but fails to answer the "why" question conclusively. Co-Authored-By:Philippe Blain <levraiphilippeblain@gmail.com> Change-Id: Id4e4415d66d6ff6b3552b60d761693f17015e4a0
Loading
Please register or sign in to comment