dev-serveez
[Top][All Lists]
Advanced

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

Re: [dev-serveez] gh_leave ?


From: stefan
Subject: Re: [dev-serveez] gh_leave ?
Date: Tue, 13 Mar 2001 09:28:22 +0100 (CET)

On Tue, 13 Mar 2001, Martin Grabmueller wrote:

> > From: "Raimund 'Raimi' Jacob" <address@hidden>
> > Date: Mon, 12 Mar 2001 18:28:10 +0100 (CET)
> > 
> > when using guile from serveez i have to gh_enter() so guile takes over
> > control. i dont know if that's cool when we fork() and exec() and
> > stuff. can i gh_leave() somehow so that guile disappears completely ?
> 
> Sorry, but I don't get the problem here...  guile+serveez+anything
> disappears completely on exec().  Actually, that's the reason of
> existence for exec().

exce() is not actually the problem, if Guile opens its files with the
FD_CLOEXEC flag set. But we might get a problem if we want to fork (which
is the case for the coservers).
The actual problem occurs as follows: On Raimi's SMP machine the wait()
for a child in the signal handler does not return until all file
descriptors shared with other children are closed. So if guile is running
and we fork a new coserver it gets guile's fds as well as any other
coserver. Thus serveez hangs if one of the coservers dies.
I do not know if this behaviour is correct (on my laptop everything is
fine) and if it is correctly described anyway...

Cheers,
        address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]