Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid locking all threads on debugger suspension (#16)
This commit stops locking all threads during suspension, which may prevent users from investigating threading problem. But it's still better than freezing the process just by running a ActiveRecord query, or doing anything that calls `Timeout.timeout`. History around this issue: 1. It originally was reported in Shopify/team-ruby-dx#724, and we reported it upstream too. 1. We introduced 1e0f45c as a workaround. 1. Upstream proposed a solution to fix the query evaluation case by restarting threads before evaluating console/DAP input. So the above commit was reverted. 1. However, the process could still hang if `Timeout.timeout` is called: 1. During a suspension 2. And outside of input evaluation An example is typing Arrow-up in the console as `reline` calls `Timeout.timeout` underneath. 1. So we need to reintroduce the workaround until we can find a better with the upstream maintainer.
- Loading branch information