[Bug 262172] UNIX Domain bind() - distinguish between random garbage and alive listening socket
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 02 Mar 2022 21:53:55 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262172 --- Comment #5 from firk@cantconnect.ru --- Even disabled by default, it may be used by aware applications in the following way: EADDRINUSE -> assume really busy address, print an error and fail, EEXIST -> remove stale socket and try again, EFTYPE -> print an error about wrong path and fail When the feature is disabled, application will just fail on all three cases (a lot of application behaves in this way already), but when the feature is enabled, it will handle stale sockets properly. As for unaware applications: 1) most of them just fails on any bind error, 2) some of them tries to cleanup stale socket before bind, or after any bind error, 3) some of them tries to cleanup stale socket on EADDRINUSE and displays a error for all other codes. Third type of applications may be broken due to this change, and they are the only reason for disabling it by default. -- You are receiving this mail because: You are the assignee for the bug.