diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2017-12-08 16:37:23 -0500 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2017-12-12 10:37:23 -0500 |
commit | 9dc34426570cc57cfdb4b6f6ea4f31018662082f (patch) | |
tree | 4b089e56b5dc5c04b51b4063309a90635a434b9a /src/mongo/util/net | |
parent | f7b89ae89514673770f558456d15cb46581c3be5 (diff) | |
download | mongo-9dc34426570cc57cfdb4b6f6ea4f31018662082f.tar.gz |
SERVER-32216 Remove UNIX sockets on clean shutdown
Diffstat (limited to 'src/mongo/util/net')
-rw-r--r-- | src/mongo/util/net/sockaddr.cpp | 8 | ||||
-rw-r--r-- | src/mongo/util/net/sockaddr.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/mongo/util/net/sockaddr.cpp b/src/mongo/util/net/sockaddr.cpp index ad3654e5507..6b441390d1c 100644 --- a/src/mongo/util/net/sockaddr.cpp +++ b/src/mongo/util/net/sockaddr.cpp @@ -231,6 +231,10 @@ bool SockAddr::isDefaultRoute() const { } } +bool SockAddr::isAnonymousUNIXSocket() const { + return ((getType() == AF_UNIX) && (as<sockaddr_un>().sun_path[0] == '\0')); +} + std::string SockAddr::toString(bool includePort) const { if (includePort && (getType() != AF_UNIX) && (getType() != AF_UNSPEC)) { StringBuilder ss; @@ -281,8 +285,8 @@ std::string SockAddr::getAddr() const { } case AF_UNIX: - return (as<sockaddr_un>().sun_path[0] != '\0' ? as<sockaddr_un>().sun_path - : "anonymous unix socket"); + return (!isAnonymousUNIXSocket() ? as<sockaddr_un>().sun_path + : "anonymous unix socket"); case AF_UNSPEC: return "(NONE)"; default: diff --git a/src/mongo/util/net/sockaddr.h b/src/mongo/util/net/sockaddr.h index db02dd73773..c91887f245c 100644 --- a/src/mongo/util/net/sockaddr.h +++ b/src/mongo/util/net/sockaddr.h @@ -133,6 +133,7 @@ struct SockAddr { bool isLocalHost() const; bool isDefaultRoute() const; + bool isAnonymousUNIXSocket() const; bool operator==(const SockAddr& r) const; |