Opened 13 years ago

Closed 13 years ago

#2977 closed Bugs (fixed)

asio incompatible with boost.phoenix

Reported by: anonymous Owned by: chris_kohlhoff
Milestone: Boost 1.39.0 Component: asio
Version: Boost 1.38.0 Severity: Problem
Keywords: Cc:

Description

boost.phoenix cannot be used with asio to create handlers. phoenix functors has overloaded operator &, and asio cannot allocate new handler.

ASIO should use boost::addressof instead of &, while allocating handlers.

Change History (3)

comment:1 by Steven Watanabe, 13 years ago

Component: Noneasio

comment:2 by chris_kohlhoff, 13 years ago

(In [58627]) Use boost::addressof to get the address of handler objects, rather than applying operator& directly. Refs #2977.

comment:3 by chris_kohlhoff, 13 years ago

Resolution: fixed
Status: newclosed

(In [58669]) Merge from trunk.

........

r57393 | hkaiser | 2009-11-05 11:26:15 +1100 (Thu, 05 Nov 2009) | 1 line

Asio: disabled VC workaround for VC2010 beta2 compiler. Fixes #3796.

........

r58621 | chris_kohlhoff | 2010-01-02 10:04:35 +1100 (Sat, 02 Jan 2010) | 2 lines

Wrap long line.

........

r58624 | chris_kohlhoff | 2010-01-02 17:09:02 +1100 (Sat, 02 Jan 2010) | 3 lines

Windows needs the OVERLAPPED structure to be valid until both the initiating function call has returned and the completion packet has been delivered.

........

r58625 | chris_kohlhoff | 2010-01-02 18:16:41 +1100 (Sat, 02 Jan 2010) | 2 lines

Use specific type_traits headers.

........

r58626 | chris_kohlhoff | 2010-01-02 18:18:09 +1100 (Sat, 02 Jan 2010) | 2 lines

Include specific headers in unit tests rather than the convenience header asio.hpp.

........

r58627 | chris_kohlhoff | 2010-01-02 19:24:12 +1100 (Sat, 02 Jan 2010) | 3 lines

Use boost::addressof to get the address of handler objects, rather than applying operator& directly. Fixes #2977.

........

r58628 | chris_kohlhoff | 2010-01-02 20:48:01 +1100 (Sat, 02 Jan 2010) | 3 lines

Don't block signals while performing system calls, but instead restart the calls if they are interrupted.

........

r58629 | chris_kohlhoff | 2010-01-02 21:20:12 +1100 (Sat, 02 Jan 2010) | 2 lines

Ensure that kqueue support is enabled for BSD platforms. Fixes #3626.

........

r58630 | chris_kohlhoff | 2010-01-02 21:30:41 +1100 (Sat, 02 Jan 2010) | 2 lines

Add boost_ prefix to extern "C" thread entry point function. Fixes #3809.

........

r58647 | chris_kohlhoff | 2010-01-03 07:36:59 +1100 (Sun, 03 Jan 2010) | 2 lines

Use a pool of strand implementations to make copying of strands cheaper.

........

r58650 | chris_kohlhoff | 2010-01-03 08:35:33 +1100 (Sun, 03 Jan 2010) | 4 lines

In getaddrinfo emulation, only check the socket type (SOCK_STREAM or SOCK_DGRAM) if a service name has been specified. This should allow the emulation to work with raw sockets.

........

r58651 | chris_kohlhoff | 2010-01-03 08:37:10 +1100 (Sun, 03 Jan 2010) | 3 lines

Add a workaround for some broken Windows firewalls that make a socket appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1.

........

r58652 | chris_kohlhoff | 2010-01-03 08:38:44 +1100 (Sun, 03 Jan 2010) | 2 lines

Only include implementation headers required for each platform.

........

Note: See TracTickets for help on using tickets.