0

cpprest (casablanca) の pplx::task に問題があります。プロセスをフォークしてデーモンを作成した後、タスクは実行されず、永遠に待機します。

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 (これはシミュレートされたものです。デーモンは sysout にアクセスできないため、syslog を使用します)

Hi I'm a task

編集:ここに機能のリクエストがあります 誰かが回避策を知っていますか?

4

1 に答える 1

0

最後に、casablanca にパッチを適用しました。Android 用の動作例があります。

/include/pplx/threadpool.h
于 2015-02-20T15:18:37.480 に答える