summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/cygheap.cc2
-rw-r--r--winsup/cygwin/exceptions.cc5
-rw-r--r--winsup/cygwin/path.cc22
4 files changed, 22 insertions, 15 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 11382e862..03f4eb7f8 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2003-05-30 Christopher Faylor <cgf@redhat.com>
+
+ * cygheap.cc (init_cheap): Temporarily remove inline that newer gcc's
+ have problems with.
+
+ * path.cc (path_conv::check): Rework has_acls logic slightly. Uncouple
+ exec tests away from filesystem tests.
+
2003-05-30 Corinna Vinschen <corinna@vinschen.de>
* include/sys/param.h: Add DEV_BSIZE.
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 7fdb87a3e..1b4096a6f 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -47,7 +47,7 @@ extern "C" {
static void __stdcall _cfree (void *ptr) __attribute__((regparm(1)));
}
-inline static void
+static void
init_cheap ()
{
cygheap = (init_cygheap *) VirtualAlloc ((void *) &_cygheap_start, CYGHEAPSIZE, MEM_RESERVE, PAGE_NOACCESS);
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 482745e89..4a38a8e4c 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -608,9 +608,8 @@ sig_handle_tty_stop (int sig)
myself->stopsig = sig;
/* See if we have a living parent. If so, send it a special signal.
- * It will figure out exactly which pid has stopped by scanning
- * its list of subprocesses.
- */
+ It will figure out exactly which pid has stopped by scanning
+ its list of subprocesses. */
if (my_parent_is_alive ())
{
pinfo parent (myself->ppid);
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d3d560fc1..ae3f6e7ed 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -782,32 +782,32 @@ out:
if (!fs.update (path))
{
fs.root_dir[0] = '\0';
- set_has_acls (false);
- set_has_buggy_open (false);
+ set_has_acls (false); // already implied but...
+ set_has_buggy_open (false); // ditto
}
else
{
set_isdisk ();
debug_printf ("root_dir(%s), this->path(%s), set_has_acls(%d)",
fs.root_dir, this->path, fs.flags & FS_PERSISTENT_ACLS);
- if (!allow_smbntsec && fs.is_remote_drive)
+ if (!(fs.flags & FS_PERSISTENT_ACLS) || (!allow_smbntsec && fs.is_remote_drive))
set_has_acls (false);
else
{
- set_has_acls (fs.flags & FS_PERSISTENT_ACLS);
- if (exec_state () != dont_know_if_executable)
- /* ok */;
- else if (isdir ())
- set_exec (1);
- else if (issymlink () || issocket ()
- || allow_ntsec && wincap.has_security ())
+ set_has_acls (true);
+ if (allow_ntsec && wincap.has_security ())
set_exec (0);
-
}
/* Known file systems with buggy open calls. Further explanation
in fhandler.cc (fhandler_disk_file::open). */
set_has_buggy_open (strcmp (fs.name, "SUNWNFS") == 0);
}
+ if (exec_state () != dont_know_if_executable)
+ /* ok */;
+ else if (isdir ())
+ set_exec (1);
+ else if (issymlink () || issocket ())
+ set_exec (0);
}
if (issocket ())
devn = FH_SOCKET;