Review Results for Proposed Boost.Process library
以下、レビュー結果。
Boris SchälingのProcessライブラリは2011/02/07から2011/02/20の期間でレビューが行われた。
このライブラリについてメーリングリストで活発な議論が起こり、最終的に8つのレビューが提出された。
- 1 review ACCEPT
- 2 reviews CONDITIONALLY ACCEPT
- 5 review DO NOT ACCEPT
このライブラリが採択されなければならないという、明瞭な見解がなかったため以下の結果となった:
ProcessライブラリはBoostに採択しない。
ライブラリの機能と、どのように実装されたかの両方のスコープで、かなりの意見の相違があった。
複数の代替設計が提案され、「シングルスレッドと、スレッド/子供、どこにシグナルハンドラを置くか」のようないろいろなアプローチの長所と短所が議論された。
しかし、このライブラリは現状において、Boostに含める準備ができていなかったということについて、広い合意があった。
参加した全ての方、そしてとくにBorisへのレビューを書いてくれた方々に感謝する。
私は、Borisがライブラリの開発を継続し、将来、再提出してくれることを望む。
レビュアーによって言及された懸念(の部分的なリスト)
- クロスプラットフォームのインタフェースに関して、かなりの戻しがあった。とくに#ifdef等の使用。
- Artyomは、現在の実装でのデッドロックの可能性、およびWindows上でのワイド文字サポートの不足を指摘した。
- Oliverは、「私はBoost.Asioを使用してプロセスにシグナルを送り、プロセスを止める(SIGSTOP)もしくは再開する(SIGCONT)という可能性を逃している。」と指摘した。
- SIGCHILDの正しい扱い、および親と子のプロセスの間でデータを受け渡す実装方法に関する多くの議論があった。
- Boost.Processライブラリがどんな機能を備えてなければならないかという、入り組んだ多面的な議論があった。
- 何人か(Jeff Flinn, Darren Garvey, Max Sobolev, ...)は、このライブラリの代替インタフェースを提案した(※訳注:パイプのDSELなど)。
- Brendon Costaは、現在のライブラリを使用してゾンビプロセスで終了のが簡単にできてしまうという懸念を示した。
- Jeremy Maitin-Shepardは、「効率的な非同期waitのサポートがないこと、および過度に複雑なストリームインタフェースは、使いものにならない」と感じた。
- Jeff Flinnは、エラー報告の不足が(とりわけ)好ましくなかった。