[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mint Technical Questions.........
> Question #1
> -----------
> Ok. People have told me that Mint has a blocking-fork() or something
> and that causes problems with using pipes etc. Namely it causes me
> major problems when dealing with GNU configure scripts.
>
> What are the ramifications of modifying pipefs.c and changing the
> pipesize from 4096 to say 4*4096 or maybe 8*4096?
>
> If this is not a good idea, is there a way to avoid this blocking
> problem? I primarily only care about GNU configure scripts.
>
>The blocking fork is not an issue when the child process immediately
>follows with an exec. Once the exec occurs, the parent is unblocked.
>This is the standard operation that occurs when a shell spawns a process,
>so the blocking fork is irrelevant there. What version of MiNT are you
>running? If you are having problems with pipeline processes getting
>blocked, more likely you're running into a bug in job-control handling.
There is a bug in bash 1.14.2 that makes shell scripts block when you use long
here-documents (you know : <<! ... !). The problem is that a signal gets lost
and the shell waits forever for the death of the process that takes the here-
document as input. Because of the blocking fork, this is guaranteed to happen
on MiNT, on a regular Unix box this is very rare because the parent shell
normally has enough time to setup the signal intercept routine after the fork.
If there is interest, and I have some time, I will try to find my patch that
solves this problem.
Joris.