diff options
| author | 2014-02-09 17:17:04 +0100 | |
|---|---|---|
| committer | 2014-02-09 17:17:04 +0100 | |
| commit | 4ec65c6231df9fcb38210f9b885cdf73b72cc176 (patch) | |
| tree | 97bb3a6c46634b2b00c3edaacdb86867a5023423 /src/socketengine.cpp | |
| parent | Queue changes in socketengine_kqueue and submit them as we poll for new events (diff) | |
Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*)
Diffstat (limited to 'src/socketengine.cpp')
| -rw-r--r-- | src/socketengine.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/socketengine.cpp b/src/socketengine.cpp index 698b9061f..86608f0a3 100644 --- a/src/socketengine.cpp +++ b/src/socketengine.cpp @@ -147,13 +147,12 @@ int SocketEngine::Accept(EventHandler* fd, sockaddr *addr, socklen_t *addrlen) return accept(fd->GetFd(), addr, addrlen); } -int SocketEngine::Close(EventHandler* fd) +int SocketEngine::Close(EventHandler* eh) { -#ifdef _WIN32 - return closesocket(fd->GetFd()); -#else - return close(fd->GetFd()); -#endif + DelFd(eh); + int ret = Close(eh->GetFd()); + eh->SetFd(-1); + return ret; } int SocketEngine::Close(int fd) |
