Skip to content

Commit 8a45639

Browse files
committed
DOC: unreliable sockpair@ on macOS
We discovered that the sockpair@ protocol is unreliable in macOS, this is the same problem that we fixed in d7f6819. But it's not possible to implement a acknowledgment once the socket are in non-blocking mode. The problem was discovered in issue #3045. Must be backported in every stable versions.
1 parent ffdccb6 commit 8a45639

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

doc/configuration.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,6 +1514,11 @@ socket type and the transport method.
15141514
the FD from the unix socket and uses it as if it were the FD
15151515
of an accept(). Should be used carefully.
15161516

1517+
Bugs: This protocol is known to be unreliable on macOS because
1518+
of an issue in the macOS sendmsg(2) implementation. The
1519+
connection might not be accepted correctly.
1520+
1521+
15171522
'unix@<path>' following string is considered as a UNIX socket <path>. this
15181523
prefix is useful to declare an UNIX socket path which don't
15191524
start by slash '/'.

doc/management.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4380,6 +4380,11 @@ Example:
43804380
case the full command ends at the end of line or semi-colon like any regular
43814381
command.
43824382

4383+
Bugs: the sockpair@ protocol used to implement communication between the
4384+
master and the worker is known to not be reliable on macOS because of an
4385+
issue in the macOS sendmsg(2) implementation. A command might end up without
4386+
response because of that.
4387+
43834388
Examples:
43844389

43854390
$ socat /var/run/haproxy-master.sock readline
@@ -4446,6 +4451,11 @@ Example:
44464451
command). In this case, the prompt mode of the master socket (interactive,
44474452
prompt, timed) is propagated into the worker process.
44484453

4454+
Bugs: the sockpair@ protocol used to implement communication between the
4455+
master and the worker is known to not be reliable on macOS because of an
4456+
issue in the macOS sendmsg(2) implementation. A command might end up without
4457+
response because of that.
4458+
44494459
Examples:
44504460
# gracefully close connections and delete a server once idle (wait max 10s)
44514461
$ socat -t 11 /var/run/haproxy-master.sock - <<< \

0 commit comments

Comments
 (0)