This is the mail archive of the
mailing list for the Cygwin project.
_exit() missing WSACleanup() call?
- From: pullmoll at t-online dot de (Juergen Buchmueller)
- To: cygwin at cygwin dot com
- Date: Mon, 5 Aug 2002 16:23:45 +0200
- Subject: _exit() missing WSACleanup() call?
- Reply-to: juergen at pullmoll dot de
-----BEGIN PGP SIGNED MESSAGE-----
I have serious trouble with a project which I'm trying to port to CYGWIN. This
project makes heavy use of fork() (actually fork2() to detach from the init
process) and child processes' file handles are almost always sockets.
Now I read that CYGWIN handles this case by silentrly calling WSAStartup() for
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?
The same project runs fine for days on various FreeBSD and GNU/Linux systems.
I also tried to find something related in the cygwin DLL source code and only
saw that there is no obvious WSACleanup() call somewhere.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)
-----END PGP SIGNATURE-----
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html