summaryrefslogtreecommitdiff
path: root/src/SocketCore.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-11-28 00:10:32 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-11-28 00:10:32 +0900
commit438f95abaeb34a47a681825ef48775321333acc6 (patch)
treed9767ba6676b38af6f1e3b90924f0b33b355fb5f /src/SocketCore.cc
parente1c03e30dd452f8e7e0a76c74733299bde38b41f (diff)
Made socket non-blocking mode in SocketCore::acceptConnection()
Diffstat (limited to 'src/SocketCore.cc')
-rw-r--r--src/SocketCore.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/SocketCore.cc b/src/SocketCore.cc
index aa2e6490..1c65a733 100644
--- a/src/SocketCore.cc
+++ b/src/SocketCore.cc
@@ -355,7 +355,7 @@ void SocketCore::beginListen()
}
}
-SocketCore* SocketCore::acceptConnection() const
+SharedHandle<SocketCore> SocketCore::acceptConnection() const
{
sockaddr_union sockaddr;
socklen_t len = sizeof(sockaddr);
@@ -366,7 +366,9 @@ SocketCore* SocketCore::acceptConnection() const
if(fd == (sock_t) -1) {
throw DL_ABORT_EX(fmt(EX_SOCKET_ACCEPT, errorMsg(errNum).c_str()));
}
- return new SocketCore(fd, sockType_);
+ SharedHandle<SocketCore> sock(new SocketCore(fd, sockType_));
+ sock->setNonBlockingMode();
+ return sock;
}
int SocketCore::getAddrInfo(std::pair<std::string, uint16_t>& addrinfo) const