summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-07-05 02:05:07 +0000
committerChristopher Faylor <me@cgf.cx>2005-07-05 02:05:07 +0000
commit26edeb6a7f6c541a25ee7fa4c201b24fea01cc50 (patch)
tree037b544f95c625b879b2bf518e69313c42a5245f /winsup/cygwin/syscalls.cc
parenta64b8b2dec5ba82dd3933a959e3e3f5f09116963 (diff)
downloadcygnal-26edeb6a7f6c541a25ee7fa4c201b24fea01cc50.tar.gz
cygnal-26edeb6a7f6c541a25ee7fa4c201b24fea01cc50.tar.bz2
cygnal-26edeb6a7f6c541a25ee7fa4c201b24fea01cc50.zip
* cygtls.h (_cygtls): Perform minor reformatting.
* winsup.h (close_all_files): Reflect argument change. * dtable.cc (close_all_files): Ditto. * dtable.h: Ditto. * fhandler.h: Ditto. * spawn.cc (spawn_guts): Move close_all_files back to its original location in first P_OVERLAY test but use argument denoting that handles are only supposed to be closed, not released (more work to be done here). * syscalls.cc (close_all_files): Take an argument denoting whether to release closed files or not. * path.cc (symlink): Change argument names to reflect linux man page. (symlink_worker): Ditto. Also appropriately set ENOENT for empty strings.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 804965f36..6f06bb1d7 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -94,7 +94,7 @@ static int __stdcall stat_worker (const char *name, struct __stat64 *buf,
ensure we don't leave any such files lying around. */
void __stdcall
-close_all_files ()
+close_all_files (bool norelease)
{
cygheap->fdtab.lock ();
@@ -106,7 +106,8 @@ close_all_files ()
debug_printf ("closing fd %d", i);
#endif
fh->close ();
- cygheap->fdtab.release (i);
+ if (!norelease)
+ cygheap->fdtab.release (i);
}
if (cygheap->ctty)