| Index: net/socket/tcp_server_socket_win.cc
|
| diff --git a/net/socket/tcp_server_socket_win.cc b/net/socket/tcp_server_socket_win.cc
|
| index bde65ec0640ace77cdc598455e8cdfb47efad4f3..baa541085c30cc17966e9a1e4b8fb95530a86e5b 100644
|
| --- a/net/socket/tcp_server_socket_win.cc
|
| +++ b/net/socket/tcp_server_socket_win.cc
|
| @@ -20,7 +20,6 @@ TCPServerSocketWin::TCPServerSocketWin(net::NetLog* net_log,
|
| : socket_(INVALID_SOCKET),
|
| socket_event_(WSA_INVALID_EVENT),
|
| accept_socket_(NULL),
|
| - accept_callback_(NULL),
|
| net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_SOCKET)) {
|
| scoped_refptr<NetLog::EventParameters> params;
|
| if (source.is_valid())
|
| @@ -99,11 +98,11 @@ int TCPServerSocketWin::GetLocalAddress(IPEndPoint* address) const {
|
| }
|
|
|
| int TCPServerSocketWin::Accept(
|
| - scoped_ptr<StreamSocket>* socket, OldCompletionCallback* callback) {
|
| + scoped_ptr<StreamSocket>* socket, const CompletionCallback& callback) {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(socket);
|
| - DCHECK(callback);
|
| - DCHECK(!accept_callback_);
|
| + DCHECK(!callback.is_null());
|
| + DCHECK(accept_callback_.is_null());
|
|
|
| net_log_.BeginEvent(NetLog::TYPE_TCP_ACCEPT, NULL);
|
|
|
| @@ -182,10 +181,9 @@ void TCPServerSocketWin::OnObjectSignaled(HANDLE object) {
|
| if (ev.lNetworkEvents & FD_ACCEPT) {
|
| int result = AcceptInternal(accept_socket_);
|
| if (result != ERR_IO_PENDING) {
|
| - OldCompletionCallback* c = accept_callback_;
|
| - accept_callback_ = NULL;
|
| accept_socket_ = NULL;
|
| - c->Run(result);
|
| + accept_callback_.Run(result);
|
| + accept_callback_.Reset();
|
| }
|
| }
|
| }
|
|
|