Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#1820 closed Bugs (fixed)

win_iocp_socket_service::accept() doesn't update error_code

Reported by: Takeshi Mouri <takeshi.mouri.net@…> Owned by: chris_kohlhoff
Milestone: Boost 1.36.0 Component: asio
Version: Boost 1.35.0 Severity: Problem
Keywords: Cc:

Description

In boost/asio/detail/win_iocp_socket_service.cpp,

  template <typename Socket>
  boost::system::error_code accept(implementation_type& impl, Socket& peer,
      endpoint_type* peer_endpoint, boost::system::error_code& ec)
  {
    // ...

    for (;;)
    {
      boost::system::error_code ec;

      // ...

      return ec;
    }
  }

The inner "ec" hides the function parameter "ec". So, this function doesn't set an error code to outer "ec".

Please remove the inner "ec".

Change History (3)

comment:1 Changed 10 years ago by chris_kohlhoff

Resolution: fixed
Status: newclosed

(In [44679]) Remove a local variable that was hiding the ec parameter and preventing error codes from being correctly propagated. Fixes #1820.

comment:2 Changed 10 years ago by Eric Niebler

(In [44725]) Merged revisions 44678-44679,44681-44689,44691-44692,44694,44697-44699,44704-44707,44711,44715,44717-44719,44722 via svnmerge from https://svn.boost.org/svn/boost/trunk

........

r44678 | chris_kohlhoff | 2008-04-20 22:43:42 -0700 (Sun, 20 Apr 2008) | 3 lines

Add porthopper example to demonstrate applications that mix synchronous and asynchronous operations.

........

r44679 | chris_kohlhoff | 2008-04-20 22:52:20 -0700 (Sun, 20 Apr 2008) | 3 lines

Remove a local variable that was hiding the ec parameter and preventing error codes from being correctly propagated. Fixes #1820.

........

r44681 | chris_kohlhoff | 2008-04-20 23:14:29 -0700 (Sun, 20 Apr 2008) | 2 lines

Ensure all non-friend related functions are included in the documentation.

........

r44682 | chris_kohlhoff | 2008-04-20 23:15:17 -0700 (Sun, 20 Apr 2008) | 3 lines

Add UNIX domain sockets, POSIX stream-oriented descriptors and Windows stream-oriented handles to the reference documentation.

........

r44683 | chris_kohlhoff | 2008-04-20 23:15:50 -0700 (Sun, 20 Apr 2008) | 2 lines

Regenerate documentation.

........

r44684 | chris_kohlhoff | 2008-04-20 23:20:32 -0700 (Sun, 20 Apr 2008) | 3 lines

Add documentation on the limits of the number of buffers that may be transferred in individual operations.

........

r44685 | chris_kohlhoff | 2008-04-21 00:59:21 -0700 (Mon, 21 Apr 2008) | 3 lines

Add requirements for handle and descriptor services. Add new classes to the quickref index page.

........

r44686 | jhunold | 2008-04-21 01:07:55 -0700 (Mon, 21 Apr 2008) | 2 lines

Remove trailing comma at end of enumerator list (gcc 4.x -pedantic error)

........

r44687 | johnmaddock | 2008-04-21 01:46:18 -0700 (Mon, 21 Apr 2008) | 1 line

Oops fix typo.

........

r44688 | johnmaddock | 2008-04-21 01:47:04 -0700 (Mon, 21 Apr 2008) | 1 line

Fix msvc warnings using new warning suppression header.

........

r44689 | johnmaddock | 2008-04-21 02:19:30 -0700 (Mon, 21 Apr 2008) | 1 line

Added new macro BOOST_NO_TEMPLATED_IOSTREAMS in response to issue #1765.

........

r44691 | speedsnail | 2008-04-21 04:46:03 -0700 (Mon, 21 Apr 2008) | 1 line

removed act-as-jamfile, which gives errors when boost.use-project is not invoked from Jamroot file.

........

r44692 | johnmaddock | 2008-04-21 05:06:02 -0700 (Mon, 21 Apr 2008) | 2 lines

Changed macro BOOST_PARTIAL_SPECIALIZATION_EXPLICIT_ARGS to BOOST_NO_PARTIAL_SPECIALIZATION_DEFAULT_ARGS. Changed <utility> to <boost/config/no_tr1/utility.hpp> in order to prevent cyclic dependencies between Fusion Tuples and TR1.

........

r44694 | johnmaddock | 2008-04-21 06:00:16 -0700 (Mon, 21 Apr 2008) | 2 lines

Merged changes from the Sandbox, and rebuilt the docs. Also added some missing files.

........

r44697 | danieljames | 2008-04-21 08:55:40 -0700 (Mon, 21 Apr 2008) | 1 line

Factor out the code for choosing the bucket count, and which bucket that hash values map to make it easier to experiment with alternative policies.

........

r44698 | anthonyw | 2008-04-21 09:20:31 -0700 (Mon, 21 Apr 2008) | 1 line

added private copy assignment operator and copy constructor to remove warnings

........

r44699 | anthonyw | 2008-04-21 09:22:16 -0700 (Mon, 21 Apr 2008) | 1 line

Revamped condition variable to try and fix swallowed-notify problems (trac issue #1834)

........

r44704 | pdimov | 2008-04-21 14:29:28 -0700 (Mon, 21 Apr 2008) | 1 line

Add ref_fn_test.cpp per #1846.

........

r44705 | pdimov | 2008-04-21 14:42:29 -0700 (Mon, 21 Apr 2008) | 1 line

Fix #1846.

........

r44706 | emildotchevski | 2008-04-21 15:42:54 -0700 (Mon, 21 Apr 2008) | 1 line

Fixed MSVC-specific compile errors when /Za command-line option is used, due to lack of throw() in std::~exception().

........

r44707 | pdimov | 2008-04-21 16:01:51 -0700 (Mon, 21 Apr 2008) | 1 line

Honor BOOST_NO_TEMPLATED_IOSTREAMS.

........

r44711 | daniel_frey | 2008-04-21 23:31:32 -0700 (Mon, 21 Apr 2008) | 1 line

Avoid unneccessary increment/decrement of reference count

........

r44715 | johnmaddock | 2008-04-22 01:34:43 -0700 (Tue, 22 Apr 2008) | 1 line

Added new files.

........

r44717 | dgregor | 2008-04-22 05:24:25 -0700 (Tue, 22 Apr 2008) | 1 line

Resource-constrained shortest paths, from Michael Drexl

........

r44718 | hkaiser | 2008-04-22 07:13:58 -0700 (Tue, 22 Apr 2008) | 2 lines

Spirit: Started to add '#include <boost/config/warning_disable.hpp>' to tests and examples.

........

r44719 | hkaiser | 2008-04-22 08:10:52 -0700 (Tue, 22 Apr 2008) | 1 line

Spirit.Support: Minor change

........

r44722 | hkaiser | 2008-04-22 10:23:21 -0700 (Tue, 22 Apr 2008) | 1 line

Wave: fixed #1843

........

comment:3 Changed 10 years ago by chris_kohlhoff

(In [46533]) Merged from trunk to release branch.

........

r44662 | chris_kohlhoff | 2008-04-21 11:23:42 +1000 (Mon, 21 Apr 2008) | 3 lines

Add ability to disable the uses of the typeid operator by defining BOOST_NO_TYPEID or BOOST_ASIO_NO_TYPEID.

........

r44663 | chris_kohlhoff | 2008-04-21 11:27:48 +1000 (Mon, 21 Apr 2008) | 3 lines

Ensure that timer dispatching responsibility is correctly relinquished when processing leftover interrupts from a previous run invocation.

........

r44665 | chris_kohlhoff | 2008-04-21 11:36:28 +1000 (Mon, 21 Apr 2008) | 3 lines

Enhance example to make it clear that invocation hooking can be used with asynchronous operations.

........

r44666 | chris_kohlhoff | 2008-04-21 11:39:06 +1000 (Mon, 21 Apr 2008) | 3 lines

Improve efficiency of basic_streambuf::consume() by using a single call to gbump() rather than calling sbumpc() in a loop.

........

r44667 | chris_kohlhoff | 2008-04-21 11:41:29 +1000 (Mon, 21 Apr 2008) | 2 lines

Update version number to match release.

........

r44668 | chris_kohlhoff | 2008-04-21 11:42:10 +1000 (Mon, 21 Apr 2008) | 2 lines

Fix infinite recursion in the ssl::stream's shutdown() implementation.

........

r44670 | chris_kohlhoff | 2008-04-21 12:01:34 +1000 (Mon, 21 Apr 2008) | 2 lines

Improve documentation for the protected functions and data in basic_io_object<>.

........

r44673 | chris_kohlhoff | 2008-04-21 14:02:37 +1000 (Mon, 21 Apr 2008) | 4 lines

Add a special null_buffers type that allows read and write operations to be used to indicate the socket's readiness to read or write without blocking.

........

r44674 | chris_kohlhoff | 2008-04-21 14:43:05 +1000 (Mon, 21 Apr 2008) | 2 lines

Add support for UNIX domain sockets.

........

r44675 | chris_kohlhoff | 2008-04-21 15:16:15 +1000 (Mon, 21 Apr 2008) | 2 lines

Add new wrapper classes for stream-oriented file descriptors on POSIX platforms.

........

r44676 | chris_kohlhoff | 2008-04-21 15:32:34 +1000 (Mon, 21 Apr 2008) | 2 lines

Add new wrapper classes for stream-oriented handles on Windows.

........

r44678 | chris_kohlhoff | 2008-04-21 15:43:42 +1000 (Mon, 21 Apr 2008) | 3 lines

Add porthopper example to demonstrate applications that mix synchronous and asynchronous operations.

........

r44679 | chris_kohlhoff | 2008-04-21 15:52:20 +1000 (Mon, 21 Apr 2008) | 3 lines

Remove a local variable that was hiding the ec parameter and preventing error codes from being correctly propagated. Fixes #1820.

........

r44681 | chris_kohlhoff | 2008-04-21 16:14:29 +1000 (Mon, 21 Apr 2008) | 2 lines

Ensure all non-friend related functions are included in the documentation.

........

r44682 | chris_kohlhoff | 2008-04-21 16:15:17 +1000 (Mon, 21 Apr 2008) | 3 lines

Add UNIX domain sockets, POSIX stream-oriented descriptors and Windows stream-oriented handles to the reference documentation.

........

r44683 | chris_kohlhoff | 2008-04-21 16:15:50 +1000 (Mon, 21 Apr 2008) | 2 lines

Regenerate documentation.

........

r44684 | chris_kohlhoff | 2008-04-21 16:20:32 +1000 (Mon, 21 Apr 2008) | 3 lines

Add documentation on the limits of the number of buffers that may be transferred in individual operations.

........

r44685 | chris_kohlhoff | 2008-04-21 17:59:21 +1000 (Mon, 21 Apr 2008) | 3 lines

Add requirements for handle and descriptor services. Add new classes to the quickref index page.

........

r44727 | chris_kohlhoff | 2008-04-23 09:46:15 +1000 (Wed, 23 Apr 2008) | 2 lines

Fix or suppress MSVC level 4 warnings. Fixes #1703.

........

r44848 | chris_kohlhoff | 2008-04-28 23:35:27 +1000 (Mon, 28 Apr 2008) | 2 lines

Update asio version number.

........

r44849 | chris_kohlhoff | 2008-04-28 23:36:18 +1000 (Mon, 28 Apr 2008) | 2 lines

Add raw socket support.

........

r44851 | chris_kohlhoff | 2008-04-28 23:56:07 +1000 (Mon, 28 Apr 2008) | 2 lines

Add an experimental two-lock queue implementation for task_io_service.

........

r44997 | chris_kohlhoff | 2008-05-02 08:00:26 +1000 (Fri, 02 May 2008) | 3 lines

Add a fast path for some speculative read and write operations in the epoll_reactor.

........

r44998 | chris_kohlhoff | 2008-05-02 08:27:21 +1000 (Fri, 02 May 2008) | 3 lines

A memory barrier is needed on some platforms to ensure that all updates to the node occur before the tail pointer is updated.

........

r45006 | chris_kohlhoff | 2008-05-02 17:59:01 +1000 (Fri, 02 May 2008) | 3 lines

Fully qualify uses of asio's placeholders to resolve ambiguity with C++0x's placeholders namespace.

........

r45010 | chris_kohlhoff | 2008-05-02 18:38:15 +1000 (Fri, 02 May 2008) | 3 lines

Don't use the names readv and writev for functions defined inside asio as these names seem to be macros on Tru64.

........

r45059 | chris_kohlhoff | 2008-05-03 21:36:16 +1000 (Sat, 03 May 2008) | 2 lines

Add fast-pathing of speculative reads and writes to the kqueue_reactor.

........

r45122 | chris_kohlhoff | 2008-05-05 16:30:13 +1000 (Mon, 05 May 2008) | 2 lines

Implement custom memory allocation support for reactor-based asynchronous operations.

........

r45179 | chris_kohlhoff | 2008-05-07 08:09:47 +1000 (Wed, 07 May 2008) | 2 lines

Use an atomic counter for strand reference counting.

........

r45292 | chris_kohlhoff | 2008-05-12 18:30:21 +1000 (Mon, 12 May 2008) | 2 lines

Regenerate documentation to include raw socket classes.

........

r45293 | chris_kohlhoff | 2008-05-12 18:35:56 +1000 (Mon, 12 May 2008) | 2 lines

Don't generate enum value lists for empty enums.

........

r45355 | chris_kohlhoff | 2008-05-14 22:17:26 +1000 (Wed, 14 May 2008) | 3 lines

Add check for empty heap when determining the minimum wait duration for a timer queue.

........

r45600 | chris_kohlhoff | 2008-05-21 19:25:12 +1000 (Wed, 21 May 2008) | 2 lines

Implement custom allocation support for timer operations.

........

r45633 | chris_kohlhoff | 2008-05-22 08:56:49 +1000 (Thu, 22 May 2008) | 2 lines

Some Windows platforms don't define IPPROTO_ICMPV6.

........

r45811 | chris_kohlhoff | 2008-05-27 17:54:12 +1000 (Tue, 27 May 2008) | 3 lines

Fix a crash that can occur when destroying a handler object that owns its own memory (as is the case when destroying handlers in an orphaned strand).

........

r45935 | chris_kohlhoff | 2008-05-30 18:39:19 +1000 (Fri, 30 May 2008) | 5 lines

Fix a deadlock that can occur when destroying a thread object with global lifetime in a dynamically loaded DLL on Windows. Note that deadlock can still occur if the thread is launched by the constructor of an object with global lifetime.

........

r46003 | chris_kohlhoff | 2008-06-01 11:31:25 +1000 (Sun, 01 Jun 2008) | 4 lines

Add test for the crash that can occur when destroying a handler object that owns its own memory (as is the case when destroying handlers in an orphaned strand).

........

r46272 | chris_kohlhoff | 2008-06-09 22:54:55 +1000 (Mon, 09 Jun 2008) | 2 lines

Add support for serial ports.

........

r46319 | chris_kohlhoff | 2008-06-11 21:17:53 +1000 (Wed, 11 Jun 2008) | 2 lines

Add random-access handles for use on Windows.

........

r46325 | chris_kohlhoff | 2008-06-11 22:41:48 +1000 (Wed, 11 Jun 2008) | 2 lines

Remove repeated typedef of reactor_type.

........

r46327 | chris_kohlhoff | 2008-06-11 23:07:41 +1000 (Wed, 11 Jun 2008) | 2 lines

Only perform check for a 0-byte receive meaning EOF on SOCK_STREAM sockets.

........

r46415 | chris_kohlhoff | 2008-06-16 10:41:29 +1000 (Mon, 16 Jun 2008) | 2 lines

Add an iterator for bytewise traversal of a buffer sequence.

........

r46473 | chris_kohlhoff | 2008-06-18 21:22:21 +1000 (Wed, 18 Jun 2008) | 2 lines

Fix write_at declaration. Add missing documentation for offset parameters.

........

r46475 | chris_kohlhoff | 2008-06-18 23:03:46 +1000 (Wed, 18 Jun 2008) | 3 lines

Add new overloads for read_until and async_read_until that invoke a user-defined function object to determine when a match has been found.

........

r46476 | chris_kohlhoff | 2008-06-18 23:08:21 +1000 (Wed, 18 Jun 2008) | 2 lines

Regenerate documentation.

........

r46506 | chris_kohlhoff | 2008-06-19 22:41:32 +1000 (Thu, 19 Jun 2008) | 2 lines

Fix for unicode builds.

........

r46507 | chris_kohlhoff | 2008-06-19 22:50:02 +1000 (Thu, 19 Jun 2008) | 3 lines

Fix serial port support on POSIX platforms that don't provide the BSD extensions cfmakeraw, cfsetspeed and CRTSCTS.

........

Note: See TracTickets for help on using tickets.