_exit() missing WSACleanup() call?

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Aug 5 09:12:00 GMT 2002


On Mon, Aug 05, 2002 at 04:23:45PM +0200, Juergen Buchmueller wrote:
> every child that inherits a socket handle - but the CYGWIN libc 
> implementation does not seem to call WSACleanup() during the _exit() function 
> cleanup in that case?
> 
> The effect is that after a few minutes, after maybe 100 child processes were 
> forked and exited again, Windows does something on a severity scale between 
> displaying message boxes about a lack of resources to hard lockups with 
> faults in 'kernel32.dll'. I'm lost.
> 
> I tried to WSACleanup() in my user osd_exit() function to no avail. My best 
> guess is that there are other resources which I cannot give free this way?

When calling WSACleanup() in your application doesn't help, it's
somewhat likely that the problem is actually in your code.  What
is the parent process doing with the sockets?  Is it surely closing
and (perhaps) shutting them down properly?  Did you look for netstat
output?

> The same project runs fine for days on various FreeBSD and GNU/Linux systems.

That's actually not good an example.  The socket implementation is
*waaayyyy* cleaner in BSD and Linux than is Winsock.

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list