gunicorn
gunicorn copied to clipboard
alias CLD to CHLD in signal handlers
some systems have 17 mapped to both CHLD and CLD, this prevents a CHLD signal from being handled in this case
I observed on our systems this issue prevented the arbiter from recognizing a worker getting killed and did not restart it.
This may be addressed by https://github.com/benoitc/gunicorn/pull/3148, although that has quite a few other changes. Happy to close this one if #3148 is preferred.
@jcjones1515 what systems have this ? Can you give an example?
Most of them, just not macOS. Python has even recently updated their documentation to clarify that SIG* is is just whatever the C library says - hence no such alias on macOS, hence no duplicate key bug in SIG_NAMES there.
Highly prefer a proper cleanup like the two approaches demonstrated in https://github.com/benoitc/gunicorn/pull/3148 over a spot-workaround like this here.