diff --git a/src/client/client.d b/src/client/client.d index 64648c4..8d91137 100644 --- a/src/client/client.d +++ b/src/client/client.d @@ -314,7 +314,8 @@ Socket createSocket(string socketFile, ushort port) { version(Windows) { - throw new Exception("Cannot use UNIX domain sockets on Windows."); + // should never be called with non-null socketFile on Windows + assert(false); } else { diff --git a/src/server/server.d b/src/server/server.d index 406dc32..a77ef42 100644 --- a/src/server/server.d +++ b/src/server/server.d @@ -128,17 +128,25 @@ int main(string[] args) } else { - socket = new Socket(AddressFamily.UNIX, SocketType.STREAM); - if (exists(socketFile)) + version(Windows) { - info("Cleaning up old socket file at ", socketFile); - remove(socketFile); + fatal("UNIX domain sockets not supported on Windows"); + return 1; + } + else + { + socket = new Socket(AddressFamily.UNIX, SocketType.STREAM); + if (exists(socketFile)) + { + info("Cleaning up old socket file at ", socketFile); + remove(socketFile); + } + socket.blocking = true; + socket.setOption(SocketOptionLevel.SOCKET, SocketOption.REUSEADDR, true); + socket.bind(new UnixAddress(socketFile)); + setAttributes(socketFile, S_IRUSR | S_IWUSR); + info("Listening at ", socketFile); } - socket.blocking = true; - socket.setOption(SocketOptionLevel.SOCKET, SocketOption.REUSEADDR, true); - socket.bind(new UnixAddress(socketFile)); - setAttributes(socketFile, S_IRUSR | S_IWUSR); - info("Listening at ", socketFile); } socket.listen(0);