| Home | Libraries | People | FAQ | More

## Struct async_handler

boost::process::extend::async_handler

## Synopsis

    // In header: <boost/process/extend.hpp>

    struct async_handler : public boost::process::extend::handler,
                           public boost::process::extend::require_io_context
    {
    };

## Description

Inheriting this class will tell the launching function, that an event handler shall be invoked when the process exits. This automatically does also inherit require_io_context.

You must add the following function to your implementation:

    template<typename Executor>
    std::function<void(int, const std::error_code&)> on_exit_handler(Executor & exec)
    {
        auto handler_ = this->handler;
        return [handler_](int exit_code, const std::error_code & ec)
               {
                    handler_(static_cast<int>(exit_code), ec);
               };

    }

The callback will be obtained by calling this function on setup and it will be invoked when the process exits.

| Warning
Cannot be used with boost::process::spawn