[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Code questions...




On Sat, 4 Feb 1995, Lai Yiu Fai wrote:

> >   - I discovered that my scheduler zombie problem is related to the fact
> > that a process is forked to handle mailq requests, but there isn't a
> > designated wait call for it, it seems like it gets reaped purely by chance
> > by waitandclose() (transport.c) whenever readfrom() is called.   Also,
> > ipcpause()  (transport.c) doesn't appear to ever be called...  why?
> > 
> 
> I have the same problem since 2.99.9, I simply add a designated wait() call
> in parent process after forking the mailq handler.  It seems that the problem
> is solved.

   I think it would be dangerous to just drop a wait() call after calling 
dumpq().  What would happen if a transport agent terminated before 
dumpq()?  Wouldn't you lose that agent's output (readfrom() didn't get 
called), and wouldn't the scheduler's internal state be inconsistent?

Tom