Mail Archives: cygwin-developers/1998/10/12/17:23:37
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 -