【问题标题】:pplx::task with daemon not executed未执行守护进程的 pplx::task
【发布时间】:2015-04-20 21:45:15
【问题描述】:

我对来自 cpprest (casablanca) 的 pplx::task 有疑问。在 fork 我的进程以创建守护进程后,任务不会执行并永远等待。

auto task = pplx::create_task([] {
std::cout << "Hi I'm a task " << std::endl;
});
task.wait();

// Create daemon process (not included for simplicity)

auto notWorkingTask = pplx::create_task([] {
    std::cout << "Hi I'm a task in daemon" << std::endl;
});
notWorkingTask.wait();

知道如何归档吗?我想在后台有一个 boost::asio::io_service 需要通知它:

boost::asio::io_service::notify_fork(boost::asio::prepare_fork);

Sysout(这是模拟的,我们使用 syslog 是因为 daemon 无法访问 sysout)

Hi I'm a task

编辑:有一个功能请求here 有人知道解决方法吗?

【问题讨论】:

    标签: c++ linux daemon casablanca


    【解决方案1】:

    我们终于修补了 casablanca,有一个适用于 Android 的工作示例:

    /include/pplx/threadpool.h
    

    【讨论】: