2ch特化型サーバ・ロケーション構築作戦 Part20

このエントリーをはてなブックマークに追加
626動け動けウゴウゴ2ちゃんねる
流れを切って悪いですが、apache workerのバグを1つ見つけたのでパッチをUPします。

--- server/mpm/worker/fdqueue.c.origFri Nov 11 00:20:05 2005
+++ server/mpm/worker/fdqueue.cSun Mar 19 10:49:17 2006
@@ -163,7 +163,7 @@
* now nonzero, it's safe for this function to
* return immediately.
*/
- if (queue_info->idlers == 0) {
+ while (queue_info->idlers == 0) {
rv = apr_thread_cond_wait(queue_info->wait_for_idler,
queue_info->idlers_mutex);
if (rv != APR_SUCCESS) {

このパッチは、配列の要素数を越えてアクセスし、メモリ内容を破壊してしまう
問題を修正します。
問題が発生すると、Segmentation Faultや、httpdがどんどん増えてしまう現象が
発生します。

良かったら、試してみてください。