This is the mail archive of the
cygwin-patches@cygwin.com
mailing list for the Cygwin project.
Re: Workaround patch for MS CLOSE_WAIT bug
On Mon, Apr 15, 2002 at 12:19:49PM -0400, Pierre A. Humblet wrote:
> Christopher Faylor wrote:
>
> > How can you second that 100% and then talk about how people have to
> > change ther code to accomodate cygwin?
> I second 100% that it's best to find a solution that avoids the MS
> bug without requiring any change from Unix.
> Meanwhile nobody "has to" do anything as a result of including
> my proposal.
> I hope this discussion will generate better approaches.
I think there's only one approach which would allow applications
to run without special Cygwin patches. When duplicating a socket,
Cygwin needs to know the parent-child relationship between the
sockets. When closing a socket, the DLL has to check, if there's
still a child socket left open. If so, the socket isn't closed
but moved into a "still-to-close" queue (like the delqueue) until
all child sockets are closed. The same for the application itself.
If exit() has been called, Cygwin has to keep the application in a
zombie-like state until the child sockets have been closed.
The problem is that this requires a parent-child communication
which isn't implemented yet. This would be a job for the Cygwin
daemon.
Does that invalidate Pierre's approach? I don't think so.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@cygwin.com
Red Hat, Inc.