Comments (2)
Consider using io_service::post() to call the handler. That also ensures that the handler is always called from a correct thread.
from asio.
Technically what you're doing does not meet the requirements for asynchronous operations (http://think-async.com/Asio/asio-1.10.2/doc/asio/reference/asynchronous_operations.html) which state that the result will be delivered using post()
.
However, this does seem like a useful thing to support specifically for coroutines, so I have committed a change in 6394ab6. But please be warned that your async_foobar()
will violate people's expectations about how an asynchronous operation will behave.
from asio.
Related Issues (20)
- A question regarding awaitables and executors
- Does asio support compile on qnx710 HOT 2
- How to build asio on Linux and Windows
- How to build asio on Linux and Windows HOT 1
- Build with `-DASIO_NO_EXCEPTIONS` and `-DASIO_SEPARATE_COMPILATION`
- Clarifying the difference between BOOST_ASIO_CONCURRENCY_HINT_UNSAFE and BOOST_ASIO_CONCURRENCY_HINT_UNSAFE_IO
- llvm17(clang-cl) with awaitable build error HOT 2
- Does asio support compile on VxWorks7? HOT 1
- Add asio::experimental::promise a default constructor and move assignment operator
- asio::error::ssl_errors should be scoped to prevent UB HOT 1
- Leak in move-assignment of ssl::detail::engine
- steady_timer.cancel() unable to release registered functions HOT 1
- Ambiguous call to `async_connect` because of unconstrained `ConnectCondition` HOT 1
- win_iocp_io_context::timer_thread_function::operator()() Exception
- libc++ removes some ifdefs so current code doesn't work as expected
- async_read on asio::serial_port does not return when io_context::stop() called
- Why are the classes scheduler, scheduler_task and scheduler_operations in the detail namespace?
- Handling of `error::eof` in `ssl::stream::shutdown(ec)`
- Segmentation fault when including <boost/asio.hpp> in multiple compilation units on MacOS with GCC
- Why were the sender/receiver marked depricated?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asio.