SIGN IN SIGN UP

Config strings: '!@name' is a Linux abstract Unix socket (socat/systemd '@' convention) (#3165)

'!name' has always meant a Unix domain socket, but '!@foo' silently produced a PATHNAME socket
literally named '@foo' -- the wrong socket, found by nothing. The parse now maps '@' after '!' to the
kernel's leading-NUL spelling, Linux-gated (no other platform has the namespace; elsewhere '@' stays a
literal filename, matching redis-cli). ToString round-trips for free: UnixDomainSocketEndPoint renders
abstract names back as '@name'.

Tests: FormatTests gains UDS parse/round-trip coverage (there was NONE, even for pathnames) -- pathname
and abstract cells, the latter Linux-gated. Verified live end-to-end besides: a ConnectionMultiplexer
built from ConfigurationOptions.Parse("!@se-abs-test,abortConnect=true") against a Garnet listening
on the same abstract name, SET/GET round-trip clean, no filesystem footprint.
M
Marc Gravell committed
0ee20828e459ae6ad1fe9f796b1bb6d4899cb43d
Parent: 0531cd5
Committed by GitHub <noreply@github.com> on 8/6/2026, 9:17:51 AM