delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/10/12/17:23:37

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
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  <dj AT indy DOT delorie DOT com>

        * utils/ps.cc (main): use const char *pname

Fri Oct  9 12:32:23 1998  Christopher Faylor <cgf AT cygnus DOT com>

        * syscalls.cc (getw): Simplify.

Thu Oct  8 23:09:34 1998  Geoffrey Noer <noer AT cygnus DOT com>

        * times.cc: add missing syscall_printfs to time functions,
        slight reformatting.

Thu Oct  8 21:56:37 1998    <dj AT cygnus DOT com>

        * 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 <cgf AT cygnus DOT com>

        * 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 <noer AT cygnus DOT com>

        * fhandler_tty.h: up NTTYs from 16 to 128

Wed Oct  7 09:15:55 1998  Christopher Faylor <cgf AT cygnus DOT com>

        * 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 <cgf AT cygnus DOT com>

        * 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 <cgf AT cygnus DOT com>

        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  <noer AT cygnus DOT com>

        patch from Corinna Vinschen <corinna DOT vinschen AT cityweb DOT de>:
        * sysdef/kernel32.def: add missing GetDiskFreeSpaceEx lines

Sat Oct  3 23:52:23 1998  Christopher Faylor <cgf AT cygnus DOT com>

        * 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  <dj AT indy DOT delorie DOT com>

        * strace.cc (strace_printf): protect against recursion

Thu Oct  1 17:08:47 1998  Geoffrey Noer  <noer AT cygnus DOT com>

        * utils/ps.cc (main): add more detailed usage printfs

Thu Oct  1 11:05:16 1998  Christopher Faylor <cgf AT cygnus DOT com>

        * 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 <cgf AT cygnus DOT com>

        * 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  <noer AT cygnus DOT com>

        * include/io.h: add missing setmode proto

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019