Comment 23 for bug 553290

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote : Re: [Bug 553290] Re: Loops on mount failure when Plymouth not running

On Sat, 2010-04-17 at 08:31 +0000, Steve Langasek wrote:

> I think there's a race condition in spawn() in mountall - AFAICS,
> there's nothing in the code that ensures spawn_child_handler is
> registered as a signal handler before calling execve(), so if fsck exits
> very fast, mountall may miss the signal that the child process has
> exited since it's passed to the default signal handler instead. This
> would explain why when the filesystem is clean and doesn't need
> checking, mountall locks up; but when it does a full fsck, mountall
> finishes fine.
>
This shouldn't matter since wait() is always called in the main loop;
the signal handler is just there to break the loop and even the default
signal handler should do that

Scott
--
Scott James Remnant
<email address hidden>