1 #include "wvunixdgsocket.h"
5 WvUnixDGSocket::WvUnixDGSocket(
WvStringParm filename,
bool _server,
int perms)
15 setfd(socket(PF_UNIX, SOCK_DGRAM, 0));
20 seterr(
"No Socket available.");
25 fcntl(
getfd(), F_SETFL, O_RDWR|O_NONBLOCK);
32 setsockopt(
getfd(), SOL_SOCKET, SO_REUSEADDR, &x,
sizeof(x));
40 sockaddr *addr = uaddr.sockaddr();
41 if (bind(
getfd(), (sockaddr *)addr, uaddr.sockaddr_len()))
48 chmod(socketfile, perms);
53 sockaddr *addr = uaddr.sockaddr();
54 if (connect(
getfd(), (sockaddr *)addr, uaddr.sockaddr_len()))
56 seterr(
"Connect to %s failed: %s",
66 WvUnixDGSocket::~WvUnixDGSocket()
101 si.wants.writable =
true;
102 else if (si.msec_timeout < 0
116 si.wants.writable =
true;
125 WvBufList::Iter i(bufs);
126 for (i.rewind(); i.next(); )
128 int used = i->used();