[torquedev] Understanding TFinalizeChild in src/resmom/start_exec.c

Diwaker Gupta diwaker.lists at gmail.com
Thu Aug 3 17:23:48 MDT 2006

Hi all,

I'm trying to understand exactly how the code in TFinalizeChild() (in
start_exec.c) works (I'm working with the 2.1.1 code base). At a very
high level:

o the first fork() creates a child which becomes the writer process,
parent continues

o a second fork creates a child which continues with setting up the
job, the parent becomes the reader process (the parent is the original
pbs_mom process?)

o there is a final fork() after which the execve() are executed. It is
this segment that I'm having a hard time figuring out. The comments
talk about "parent does the shell" and "child does demux". I couldn't
find the literal DEMUX being used anywhere else in the code, so that
was a bit baffling.  Which of these becomes the real job and what
happens to the other?

Thanks for your time,
Web/Blog/Gallery: http://floatingsun.net/blog

More information about the torquedev mailing list