1

Poco::ServerApplicationPoco::TaskManagerを同時に使用していて、有線の問題が発生しました。

オプションなしで開始する--daemonと、すべて問題ありません。ただし、 で開始すると--daemon、タスクマネージャに渡されたタスクは開始されません。gdb でデバッグしたところ、--daemonオプションを指定すると、タスクマネージャーの内部タスクプールのスレッドが開始され、すぐに停止することがわかりました。そのため、 を呼び出すとTaskManager::start、既に終了したスレッドが使用されるため、タスクが開始されることはありません。

これは、Linux デーモンに対する何らかの制限によるものなのか、それともこの問題の原因となるものが他にあるのでしょうか?

これは、私のボックスで問題を再現できるサンプル コードです。
http://codepaste.net/jhoyt5

下手な英語でごめんなさい:P. そして、私は何かアイデアをいただければ幸いです?

4

2 に答える 2

0

私はこれと同じ問題を抱えていました。私は実際にはコンストラクターでスレッドを開始していませんでしたが、コンストラクターで Poco::TaskManager コンテナーを作成していました。main() で作成すると、すべてが機能しました。

于 2017-01-12T15:17:03.117 に答える