This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Usage of _exit(0) closes fd's of parent process

	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,

Attachment: pgp00000.pgp
Description: PGP signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]