From: cgf AT cygnus DOT com (Christopher G. Faylor) Subject: Foolproof solution for non-inherit on spawn/exec? 7 Jun 1998 21:16:07 GMT Message-ID: <6levun$npa$1@cronkite.cygnus.com> X-Newsreader: trn 4.0-test63 (15 March 1998) How about this for a "foolproof" solution to the problem of inheriting handles? Don't *ever* create an inheritable handle in the fd table. Create the "linearized" fd table prior to spawning a process but do not populate it with any handle which has a close-on-exec bit set. In the spawned process, the "delinearize" code will do a DuplicateHandle on every handle that it needs from the parent process. This scenario means that fds opened in a cygwin process are not passed to a non-cygwin process. I think that's the correct behavior. The only downside that I can see is that it means that process startup is slightly slower. It also means that a forked process will also have to go through this effort. -- cgf AT cygnus DOT com "Everything has a boolean value, if you stand http://www.cygnus.com/ far enough away from it." -- Galena Alyson Canada