Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
PrevUpHomeNext
io_service::run (2 of 2 overloads)

Run the io_service object's event processing loop.

std::size_t run(
    boost::system::error_code & ec);

The run() function blocks until all work has finished and there are no more handlers to be dispatched, or until the io_service has been stopped.

Multiple threads may call the run() function to set up a pool of threads from which the io_service may execute handlers. All threads that are waiting in the pool are equivalent and the io_service may choose any one of them to invoke a handler.

The run() function may be safely called again once it has completed only after a call to reset().

Parameters

ec

Set to indicate what error occurred, if any.

Return Value

The number of handlers that were executed.

Remarks

The run() function must not be called from a thread that is currently calling one of run(), run_one(), poll() or poll_one() on the same io_service object.

The poll() function may also be used to dispatch ready handlers, but without blocking.


PrevUpHomeNext