Skip to content

Commit

Permalink
Made unix domain sockets work on Linux.
Browse files Browse the repository at this point in the history
  • Loading branch information
jkrempus committed Aug 18, 2013
1 parent e153da9 commit 7006ac9
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions std/socket.d
Expand Up @@ -73,10 +73,14 @@ version(Windows)
else version(Posix)
{
version(linux)
{
import std.c.linux.socket : AF_IPX, AF_APPLETALK, SOCK_RDM,
IPPROTO_IGMP, IPPROTO_GGP, IPPROTO_PUP, IPPROTO_IDP,
SD_RECEIVE, SD_SEND, SD_BOTH, MSG_NOSIGNAL, INADDR_NONE,
TCP_KEEPIDLE, TCP_KEEPINTVL;

import core.sys.posix.sys.un : sockaddr_un;
}
else version(OSX)
import std.c.osx.socket : AF_IPX, AF_APPLETALK, SOCK_RDM,
IPPROTO_IGMP, IPPROTO_GGP, IPPROTO_PUP, IPPROTO_IDP,
Expand Down Expand Up @@ -1893,10 +1897,10 @@ static if (is(sockaddr_un))

this(in char[] path)
{
len = sockaddr_un.sun_path.offsetof + path.length + 1;
len = cast(socklen_t)(sockaddr_un.init.sun_path.offsetof + path.length + 1);
sun = cast(sockaddr_un*) (new ubyte[len]).ptr;
sun.sun_family = AF_UNIX;
sun.sun_path.ptr[0..path.length] = path;
sun.sun_path.ptr[0..path.length] = (cast(byte[]) path)[];
sun.sun_path.ptr[path.length] = 0;
}

Expand Down

0 comments on commit 7006ac9

Please sign in to comment.