diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index f5324a36c..b3137b4a9 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +Sun Oct 22 23:33:00 2000 Christopher Faylor + + * fork.cc (fork): Set sigframe here, since it can pause for a + considerable amount of time. + * environ.cc (_addenv): Add debugging. + * fhandler.cc: Eliminate unneeded include. + * smallprint.c: Ditto. + Sun Oct 22 12:07:00 2000 Corinna Vinschen * pinfo.cc (pinfo_init): Eliminate call to `set_process_privileges'. diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 016d0368d..c9973273f 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -234,7 +234,12 @@ _addenv (const char *name, const char *value, int overwrite) __cygwin_environ, sz); if (!__cygwin_environ) - return -1; /* Oops. No more memory. */ + { +#ifdef DEBUGING + try_to_debug (); + return -1; /* Oops. No more memory. */ +#endif + } __cygwin_environ[offset + 1] = NULL; /* NULL terminate. */ update_envptrs (); /* Update any local copies of 'environ'. */ diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 1a7835d60..5d2be0f31 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -14,7 +14,6 @@ details. */ #include #include #include "cygheap.h" -#include #include #include #include "cygerrno.h" diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index 8a3343d86..fcb55c2a8 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -1152,7 +1152,7 @@ fhandler_console::write (const void *vsrc, size_t len) { case normal: src = write_normal (src, end); - if (src == 0) /* write_normal fail */ + if (!src) /* write_normal failed */ return -1; break; case gotesc: diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc index 0c8df30cd..a05279d9c 100644 --- a/winsup/cygwin/fork.cc +++ b/winsup/cygwin/fork.cc @@ -580,6 +580,7 @@ fork () } grouped; MALLOC_CHECK; + sigframe thisframe (mainthread); debug_printf ("entering"); grouped.hParent = grouped.first_dll = NULL; diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 1f9684443..ff622e92b 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -170,6 +170,17 @@ path_conv::check (const char *src, unsigned opt, symlink_info sym; bool need_directory = 0; +#if 0 + static path_conv last_path_conv; + static char last_src[MAX_PATH + 1]; + + if (*last_src && strcmp (last_src, src) == 0) + { + *this = last_path_conv; + return; + } +#endif + char *rel_path, *full_path; if (!(opt & PC_NULLEMPTY)) @@ -392,6 +403,14 @@ out: tmp_buf, full_path, volflags & FS_PERSISTENT_ACLS); set_has_acls (volflags & FS_PERSISTENT_ACLS); } + +#if 0 + if (!error) + { + last_path_conv = *this; + strcpy (last_src, src); + } +#endif } #define deveq(s) (strcasematch (name, (s))) diff --git a/winsup/cygwin/smallprint.c b/winsup/cygwin/smallprint.c index 31890a6aa..ac90df3d8 100644 --- a/winsup/cygwin/smallprint.c +++ b/winsup/cygwin/smallprint.c @@ -10,7 +10,6 @@ details. */ #include "winsup.h" #include -#include #include #include #include