diff options
author | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-04 18:38:04 +0000 |
---|---|---|
committer | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-04 18:38:04 +0000 |
commit | 3fa4bad7827a6c725e3e8868d63ddee0d4b67b2d (patch) | |
tree | d9d8eb5d9bbff19689b9b4243dd2ce846b638e9b /net/base/tcp_client_socket.cc | |
parent | 2a4e5fbb838517d03c760974ccc6a2ff8939dd08 (diff) | |
download | chromium_src-3fa4bad7827a6c725e3e8868d63ddee0d4b67b2d.zip chromium_src-3fa4bad7827a6c725e3e8868d63ddee0d4b67b2d.tar.gz chromium_src-3fa4bad7827a6c725e3e8868d63ddee0d4b67b2d.tar.bz2 |
was originally reviewed by jar as part of revision 322, but i mistakenly didn't commit it along with that revision
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/tcp_client_socket.cc')
-rw-r--r-- | net/base/tcp_client_socket.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/net/base/tcp_client_socket.cc b/net/base/tcp_client_socket.cc index fad4f2f0..6f9e52b 100644 --- a/net/base/tcp_client_socket.cc +++ b/net/base/tcp_client_socket.cc @@ -106,7 +106,7 @@ int TCPClientSocket::Connect(CompletionCallback* callback) { overlapped_.hEvent = WSACreateEvent(); WSAEventSelect(socket_, overlapped_.hEvent, FD_CONNECT); - MessageLoop::current()->WatchObject(overlapped_.hEvent, this); + watcher_.StartWatching(overlapped_.hEvent, this); wait_state_ = WAITING_CONNECT; callback_ = callback; return ERR_IO_PENDING; @@ -122,7 +122,7 @@ void TCPClientSocket::Disconnect() { return; // Make sure the message loop is not watching this object anymore. - MessageLoop::current()->WatchObject(overlapped_.hEvent, NULL); + watcher_.StopWatching(); // This cancels any pending IO. closesocket(socket_); @@ -163,7 +163,7 @@ int TCPClientSocket::Read(char* buf, int buf_len, CompletionCallback* callback) if (rv == 0) return static_cast<int>(num); if (rv == SOCKET_ERROR && WSAGetLastError() == WSA_IO_PENDING) { - MessageLoop::current()->WatchObject(overlapped_.hEvent, this); + watcher_.StartWatching(overlapped_.hEvent, this); wait_state_ = WAITING_READ; callback_ = callback; return ERR_IO_PENDING; @@ -184,7 +184,7 @@ int TCPClientSocket::Write(const char* buf, int buf_len, CompletionCallback* cal if (rv == 0) return static_cast<int>(num); if (rv == SOCKET_ERROR && WSAGetLastError() == WSA_IO_PENDING) { - MessageLoop::current()->WatchObject(overlapped_.hEvent, this); + watcher_.StartWatching(overlapped_.hEvent, this); wait_state_ = WAITING_WRITE; callback_ = callback; return ERR_IO_PENDING; @@ -265,8 +265,6 @@ void TCPClientSocket::DidCompleteIO() { void TCPClientSocket::OnObjectSignaled(HANDLE object) { DCHECK(object == overlapped_.hEvent); - MessageLoop::current()->WatchObject(overlapped_.hEvent, NULL); - switch (wait_state_) { case WAITING_CONNECT: DidCompleteConnect(); |