diff --git a/CHANGELOG.md b/CHANGELOG.md index d708834a75..aa70c89ea9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,8 +21,12 @@ ([#6747](https://github.com/mitmproxy/mitmproxy/pull/6747), @jlaine) * Fix a bug where async `client_connected` handlers would crash mitmproxy. ([#6749](https://github.com/mitmproxy/mitmproxy/pull/6749), @mhils) - * Add button to close flow details panel +* Add button to close flow details panel ([#6734](https://github.com/mitmproxy/mitmproxy/pull/6734), @lups2000) +* Ignore SIGPIPE signals when there is lots of traffic. + Socket errors are handled directly and do not require extra signals + that generate noise. + ([#6764](https://github.com/mitmproxy/mitmproxy/pull/6764), @changsin) * Add primitive websocket interception and modification ([#6766](https://github.com/mitmproxy/mitmproxy/pull/6766), @errorxyz) diff --git a/mitmproxy/tools/main.py b/mitmproxy/tools/main.py index cc3c9ddeeb..bc62362dac 100644 --- a/mitmproxy/tools/main.py +++ b/mitmproxy/tools/main.py @@ -120,6 +120,10 @@ def _sigterm(*_): # but signal.signal just works fine for our purposes. signal.signal(signal.SIGINT, _sigint) signal.signal(signal.SIGTERM, _sigterm) + # to fix the issue mentioned https://github.com/mitmproxy/mitmproxy/issues/6744 + # by setting SIGPIPE to SIG_IGN, the process will not terminate and continue to run + if hasattr(signal, "SIGPIPE"): + signal.signal(signal.SIGPIPE, signal.SIG_IGN) await master.run() return master