diff --git a/util/message.cpp b/util/message.cpp index 3914f7cf2c318..ee9ec779e57a4 100644 --- a/util/message.cpp +++ b/util/message.cpp @@ -34,6 +34,7 @@ #ifndef _WIN32 #include +#include #else // errno doesn't work for winsock. @@ -144,6 +145,14 @@ namespace mongo { return; } +#if !defined(_WIN32) + if (me.getType() == AF_UNIX){ + if (chmod(me.getAddr().c_str(), 0777) == -1){ + log() << "couldn't chmod socket file " << me << errnoWithDescription() << endl; + } + } +#endif + if ( ::listen(sock, 128) != 0 ) { log() << "listen(): listen() failed " << errnoWithDescription() << endl; closesocket(sock);