[vwnc] [Fwd: Re: ExternalProcess problems]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] [Fwd: Re: ExternalProcess problems]

cdavidshaffer
oops again...

cstb wrote:
>
>
> I'm a little rusty here, but this sounds like a fork?
>  
VW doesn't use fork...clone then execve.
>
> Ok, so it must be a fork.
>  
See above.

>
> Hmmm.  I'd expect parent
>                 (which is waiting
>                  for children
>                   -- ALL children --
>                  to exit
>                 )
> would continue waiting until grandchild completes.
> Unless/until the grandchild is emancipated,
> which is *not* the usual thing.
>  
This isn't my understanding of it at all.  Grandchild is orphaned when
Child exits.  It becomes a child of init, which will "wait" on it when
it exits.  "ps exjf" verifies this by showing process 1 as the "parent
pid" of the grandchild.
> A simple fix would be to <bash> your example
> into working the way you intend:
>
>         Parent spawns child via #cshOne:.
>         Child spawns grandchild via something like
>
>                 cshOne: 'bash -c ''originalGrandchild &'''
>
>  
OK, I tested this (but I used shOne:, not cshOne: as I don't have csh on
my box).  The behavior in this case is the same as my original.  Parent
sits waiting.

> Or, you could look up process groups,
> and methods for escaping therefrom,
> and find a way to convey emancipation
> after a fork, from within VW.
>
>
> CAVEAT - I don't know if your OS variant
> actually does anything about process groups.
>
>  
Yes, Linux support process groups and sessions.  If I look at the
groupid and sessionid of the grandchild (in my sample code) I see that
they indeed match its PID so it is in its own group/session.  In other
parts of the thread you will see discussion that Linux delivers SIGCHLD
for Child to Parent which VW handles properly.  The problem seems to be I/O.

David



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] [Fwd: Re: ExternalProcess problems]

thomas.hawker
FWIW, isn't clone() the same as BSD's vfork() - a virtually efficient fork() call that doesn't copy memory in the expectation that it will be immediately followed by an exec*() call?

Cheers!
 
Tom Hawker
--------------------------
Senior Framework Developer
--------------------------
Home +1 (408) 274-4128
Office +1 (408) 576-6591
Mobile +1 (408) 835-3643
 

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of C. David Shaffer
Sent: Wednesday, September 23, 2009 4:54 AM
To: vwnc
Subject: [vwnc] [Fwd: Re: ExternalProcess problems]

oops again...

IMPORTANT NOTICE
Email from OOCL is confidential and may be legally privileged.  If it is not
intended for you, please delete it immediately unread.  The internet
cannot guarantee that this communication is free of viruses, interception
or interference and anyone who communicates with us by email is taken
to accept the risks in doing so.  Without limitation, OOCL and its affiliates
accept no liability whatsoever and howsoever arising in connection with
the use of this email.  Under no circumstances shall this email constitute
a binding agreement to carry or for provision of carriage services by OOCL,
which is subject to the availability of carrier's equipment and vessels and
the terms and conditions of OOCL's standard bill of lading which is also
available at http://www.oocl.com.

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc