Dale Ghent wrote:
[...]
>A pstack showed that LWP 7 (thread 22) was doing this:
>
>----------------- lwp# 7 / thread# 22 --------------------
> ff11a814 _read (466b40, fc803968, fc80186c, 0, 0, 0) + c
> ff33ea48 apr_file_gets (1, fc805967, 466b40, 466b40, 64206865, 61646572)
>+ 38
> 0006e478 cgid_handler (0, 0, 0, ffffbc00, 0, 3df838) + 4c8
>
[...]
I think this bit of cgid_handler() is the problem:
/* Soak up all the script output */
while (apr_file_gets(argsbuffer, HUGE_STRING_LEN, tempsock)
> 0) {
continue;
}
Your truss output showed read returning 0. apr_file_gets should be
returning APR_EOF in this case. But APR_EOF > 0, so we'll be stuck
in that loop forever.
--Brian
|