DragonFly BSD
DragonFly bugs List (threaded) for 2005-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: patch (Re: ^Z during port build and hang?)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 25 Jun 2005 09:31:28 -0700 (PDT)

:
:On Fri, Jun 24, 2005 at 11:15:28AM -0700, Matthew Dillon wrote:
:>     Try this patch.  There is a race during fork() where a ^Z can cause a
:>     newly forked process to stop as part of the fork trampoline.  That code
:>     path was not setting up the passive release function and the process
:>     retained its 'current process' designation when it went to sleep.  The
:>     result?  No other user processes can run.
:> 
:>     The thread priority was also not being properly set, possibly giving
:>     programs that fork a lot (e.g. a make/build) higher priority then the
:>     rest of the system.
:
:Thanks! So far with this patch, I haven't been able to reproduce it no
:matter how hardly I tried to do so.  By the way, do you have any idea
:why it only happens with ttyv? and not with other types of terminals?
:
:Thanks.

    It's probably due to interactions with other processes (e.g. sshd)
    simply reducing the chance that a signal would be delivered to the
    child of the fork() during the critical trampoline period.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]