
The point of this function is to stash away the innermost error code so that we don't lose it by the time we get back to the client code.
28 lines
620 B
C++
28 lines
620 B
C++
#include <LibCore/CLocalSocket.h>
|
|
#include <sys/socket.h>
|
|
#include <errno.h>
|
|
|
|
CLocalSocket::CLocalSocket(Badge<CLocalServer>, int fd, CObject* parent)
|
|
: CSocket(CSocket::Type::Local, parent)
|
|
{
|
|
set_fd(fd);
|
|
set_mode(CIODevice::ReadWrite);
|
|
set_error(0);
|
|
}
|
|
|
|
CLocalSocket::CLocalSocket(CObject* parent)
|
|
: CSocket(CSocket::Type::Local, parent)
|
|
{
|
|
int fd = socket(AF_LOCAL, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
|
|
if (fd < 0) {
|
|
set_error(errno);
|
|
} else {
|
|
set_fd(fd);
|
|
set_mode(CIODevice::ReadWrite);
|
|
set_error(0);
|
|
}
|
|
}
|
|
|
|
CLocalSocket::~CLocalSocket()
|
|
{
|
|
}
|