diff --git a/CHANGELOG.md b/CHANGELOG.md index 982f041f..773c96bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Deprecated ### Removed ### Fixed + +- Set SO_REUSEADDR on pre-bound sockets to prevent bind failures on restart + ### Security ## 0.8.0 - 2026-04-13 diff --git a/src/func_python/sock.py b/src/func_python/sock.py index 4e82b022..c7d62978 100644 --- a/src/func_python/sock.py +++ b/src/func_python/sock.py @@ -41,6 +41,7 @@ def bind() -> list[str]: else: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: sock.bind((host, int(port))) result.append(f'fd://{sock.detach()}')