From: noer AT cygnus DOT com (Geoffrey Noer) Subject: New winsup snapshot 10/12/98 12 Oct 1998 17:23:37 -0700 Message-ID: <19981012170213.03013.cygnus.cygwin32.developers@cygnus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: cygwin32-developers AT cygnus DOT com Hi, I've just made a new winsup snapshot available. This ones fixes the @file support problem that would cause some sed expressions like echo '\\\' | sed 's@\\@/g' to fail. You should also find that exe startup should be a bit faster since the command line is only scanned once now (instead of potentially multiple times). You'll also notice that the mingw subdirectory now contains the July snapshot of mingw32, the latest I know of from Colin Peters. If you add "mingw" to SUBDIRS_AFTER in the winsup/Makefile.in, the mingw stuff should be built and installed properly for the i586-win32 configuration of EGCS 1.1. Known problems in order of seriousness: --------------------------------------- 1) I'm still seeing sed errors during native configures like: sed -e expression #1, char 259: Unterminated 's' command Where sed is sed 3.02. The trigger seems to be the following expression in the top-level configure.in: sed -e "s:^SUBDIRS[ ]*=.*$:SUBDIRS = ${xsubdirs}:" -e "s:^NONSUBDIRS[ ]*=.*$:NONSUBDIRS = ${noconfigdirs}:" ${subdir}/Makefile.tem > ${subdir}/Makefile.tm2 I've tried configuring a native linux toolchain with this version of sed and I don't have the problem. (It also does not appear to be a binmode vs. textmode issue). In any case, it's almost certainly a Cygwin DLL problem somewhere... *sigh* 2) Ernie Boyd reports some problems running the PERL5.004_01 configure script, some of which he fixed by reverting to bash 2.01. I'm intending to try this to see what happens. 3) Ernie Boyd reports that Cygwin thinks that the end date for Daylight Savings Time is the first weekend of October instead of the last weekend of October. I looked into this briefly. Although the code is complex enough that I probably have missed a bug or two in Cygwin, it looks like the relevant piece of code is localtime() in winsup/times.cc. We're calling GetTimeZoneInformation and then using DaylightDate and StandardDate as reported by MS to do the calculations. Perhaps this is a MS problem? Except that my little NT clock prints the time correctly when we don't so it probably is our fault afterall... Fortunately, this bug will fix itself in a couple of weeks. :-) ChangeLog entries since the last snapshot follow as usual. Regards, Geoffrey Noer noer AT cygnus DOT com ------------------------------ snip -------------------------------- Mon Oct 12 15:19:47 1998 DJ Delorie * utils/ps.cc (main): use const char *pname Fri Oct 9 12:32:23 1998 Christopher Faylor * syscalls.cc (getw): Simplify. Thu Oct 8 23:09:34 1998 Geoffrey Noer * times.cc: add missing syscall_printfs to time functions, slight reformatting. Thu Oct 8 21:56:37 1998 * hinfo.cc (cygwin32_attach_handle_to_fd): allow to pass -1 for dup() simulation; return allocated fd. * pinfo.cc (lock_pinfo_for_update): if the mutex is broken, fail instead of looping. If you do loop, don't use 100% CPU. Thu Oct 8 18:33:02 1998 Christopher Faylor * dcrt0.cc: Add another per-thread object for strace. (quoted): Fix misconception of method used to quote quotes. (globify): Optionally output arguments. (build_argv): Ditto. (dll_crt0_1): Fix typo in line reassignment. * debug.cc (class locker): Avoid calling lock multiple times. * exceptions.cc (call_handler): Set strace recursion flag to zero when invoking a signal handler. * fcntl.c (_fcntl): F_DUPFD should close it's argument. * fork.cc (fork): Move determination of parent process to a safer place. * sigproc.cc (get_sig_dispatch_mutex): Rename. Use macro interface to provide the name of the caller for strace output. (release_sig_dispatch_mutex): Ditto. * sigproc.h: Define *_dispatch_mutex wrappers. * strace.cc (strace_printf): Use new per-thread object to guard against recursion. * winsup.h: Define per_thread_strace_protect. Redo per_thread base class for a little more clarity. Wed Oct 7 22:30:43 1998 Geoffrey Noer * fhandler_tty.h: up NTTYs from 16 to 128 Wed Oct 7 09:15:55 1998 Christopher Faylor * fhandler_console.cc (console_read): Distinguish between 0 byte return from CTRL-C and EOF condition. Tue Oct 6 22:31:44 1998 Christopher Faylor * dcrt0.cc (build_argv): Rewrite. Now: 1) allocates argv on the fly, 2) inserts '@' files as they are found, 3) uses sh-style quoting using either " or ' which may be embedded in an argument. (insert_file): Don't scan command line. Accept already parsed arguments from build_argv. (quoted): New function for parsing quoted strings. (globify): Don't scan argv list. Accept element from build_argv which will be tacked to end of argv as it is being built. Extend quoting options to allow tilde, braces, and quotes. (dcrt0_dll_1): Simplify argv processing. Just call build_argv, which handles everything. Tue Oct 6 11:04:43 1998 Christopher Faylor Change Create[A-Z]* calls throughout to use sec_none_nih to avoid subprocesses accidentally inheriting handles. * grp.cc: Hold group structures in group_buf rather than an image of the /etc/group file. (parse_grp): New function to parse a group line into a struct group. (add_grp_line): Use parse_grp to add line from /etc/group into internal cache. (read_etc_group): Avoid redundant feof call. Set up default group. (getgrgid): Just return appropriate entry from group_buf rather than reparsing internal representation. (getgrnam): Ditto. (getgrent): Ditto. * hinfo.cc (hinfo::select_*): Set errno value when attempt is made to use an unopened fd. * passwd.cc: Hold passwd structures in passwd_buf rather than an image of the /etc/passwd file. (parse_pw): New function to parse a passwd line into a struct passwd. (add_pw_line): Use parse_pw to add line from /etc/passwd into internal cache. (read_etc_passwd): Avoid redundant feof call. (search_for): Just scan passwd_buf for matching entries. (getpwent): Just return appropriate entry from passwd_buf rather than reparsing internal representation. Mon Oct 5 18:06:31 1998 Geoffrey Noer patch from Corinna Vinschen : * sysdef/kernel32.def: add missing GetDiskFreeSpaceEx lines Sat Oct 3 23:52:23 1998 Christopher Faylor * dcrt0.cc (si): Initialize so that NO_COPY will work. * debug.cc (class locker): Fix previous change. Critical sections are still required, so protect them if operating in main thread to avoid signal problems. Make any previously static use of locker global since that appears to be the only foolproof way of marking the variable NO_COPY. Rename these variables to something that is not likely to be collided with. * exceptions.cc (call_handler): Signal arrival of a dispatched signal here and wait a long time for the mutex before giving up. Should increase performance slightly. * sigproc.cc (maintid): New external symbol. * sigproc.cc (maintid): Make this global since it is used in other places now. (sig_dispatch_pending): Don't wait for wait_sig to complete if there are no pending signals. Avoids a race and should be faster. (wait_sig): Don't set signal_arrived event here. Do it in call_handler. * strace.cc (strace_printf): Remove previous recursion check since it is not signal safe. * syscalls.cc (_read): Remove duplicate CreateEvent typo. Fri Oct 2 09:54:42 1998 DJ Delorie * strace.cc (strace_printf): protect against recursion Thu Oct 1 17:08:47 1998 Geoffrey Noer * utils/ps.cc (main): add more detailed usage printfs Thu Oct 1 11:05:16 1998 Christopher Faylor * Makefile.in: Fix typo in debug.o dependency. * debug.cc (class locker): Give up on using critical sections since they are not safe to use in the main thread due to signals. Wed Sep 30 22:34:42 1998 Christopher Faylor * fork.cc (fork): Close parent's parent_alive handle if there is one or suffer a handle leak. * syscalls.cc (_read): Make all events no access and non-inheritable or suffer potential handle leak. * windows.cc (gethwnd): Ditto. Wed Sep 30 17:22:29 1998 Geoffrey Noer * include/io.h: add missing setmode proto