Hi. I'm having an unusual problem in a program I'm trying to get
working in cygwin. My program fork()'s a child process to do a hostname
lookup, establishes a tcp connection in the parent, then has the child
_exit(0) itself. For some reason I don't understand, _exit is not just
closing the fd's of the child, but of the parent as well. From my
understanding, _exit is supposed to close the fd's of the process it is run
from only.

        The program works correctly (That is to say, stays connected) if I
comment out the _exit and instead have it while (1) { sleep (10000); }.
Obviously I would like to be able to kill off the child at some point, but
for testing this proved to me that either my expectation of how _exit is
supposed to work in cygwin is flawed, or _exit is.

        Please let me know if I'm using this function call incorrectly, and
what behavior I should be expecting. If my expectation of how _exit is
supposed to act is correct, let me know and I'll file a bug report.


        I am not subscribed to the cygwin mailing list, so please make sure
replies are sent to my email address as well as the list.

Thank you,
Hikaru

Attachment: pgpaRJk7OXacU.pgp
Description: PGP signature

Reply via email to