#1182: Fix freeze for OS X (wrong signals to subprocesses) #2911
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ISSUE TYPE
RUNTIME ENVIRONMENT
CHECKLIST
CONTRIBUTING
document has been read [REQUIRED]DESCRIPTION
Replace hard-coded signal numbers with signal constants from
signal
libMOTIVATION AND CONTEXT
Different systems use different signal codes, and on macOS signals 18 and 20 mean SIGTSTP and SIGCHLD instead of SIGCONT and SIGTSTP that were intended. This caused Ranger to have frozen tasks & even crash on macOS when fast scrolling through large files.
From now on, Ranger acts normally on macOS and probably on some other operating systems.
See #1182
TESTING
All tests are passed on the lowest currently maintained Python version 3.8, but
pylint<3.0.0
was required formake test
to run without failures.pylint==2.17.7
seems to be fine.Thinking on an update for HACKING.md in further PRs.