[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MiNT vs GNU configure
>>>>> "Chris" == Chris Herborth <cherborth@semprini.waterloo-rdp.on.ca> writes:
Chris> Looking in configure, config.status is written with a statement
Chris> that pulls lines from configure up to a EOF line, which is a
Chris> fair number of lines down. Is bash (and /bin/sh) halting
Chris> because there's a buffer that's too small? The bash that's
Chris> working on configure is set to 'Wait' if I check with top, but
Chris> it never wakes up.
It sounds very much like the dreaded blocking fork problem.
Quite a while back, I was trying to get RCS configured (it didn't use
autoconf, but some other shellscript procedure), using sh. And it
would crunch along fine, until someway towards the end where it would
hang. I traced the problem to exactly that of extracting data from
within the script itself. I do not remember the exact details, but
what basically happens is that two forked off processes are sitting at
each end of a pipe, with one process stuffing things into the pipe. As
MiNT fork is blocking, the other process does nothing. When the pipe
buffer fills up, the first process is also blocked and the whole
system hangs.
I fixed the problem by hacking the script up so that the large portion
was made into a separate file. One probably also could fix the pipe
buffer size and recompile the kernel. I would guess that a quite
moderate size would fix the problem for the majority of such scripts.
------------------------------------------------------------------------------
Christian Lynbech | Hit the philistines three times over the
office: R0.33 (phone: 3217) | head with the Elisp reference manual.
email: lynbech@daimi.aau.dk | - petonic@hal.com (Michael A. Petonic)
------------------------------------------------------------------------------