Mail Archives: cygwin-developers/1998/10/20/17:23:02
Here's another winsup snapshot.
I think we're getting ever so close now to b20 state. There are still
a few bugs that need investigating (e.g. control-C in bash in Win 98
results in a several-second hang). This snapshot fixes the skipping
every other shell script read command problem, the sed problem during
configures bug, and some other stuff. Also, mingw is now
built/installed by default and the latest patches have been applied to
the mingw headers. Finally, updated include/Windows32 headers are
Most importantly though, this snapshot introduces the new Cygwin
versioning system. This will hopefully eliminate or greatly reduce
Cygwin DLL conflicts as we put out new versions of Cygwin in the
Here's a brief summary of the new Cygwin versions:
* CYGWIN_VERSION_DLL_MAJOR, CYGWIN_VERSION_DLL_MINOR for the DLL
version (currently 19.6).
* CYGWIN_VERSION_MOUNT_REGISTRY: version associated with registry
mount table format. (currently 1).
* CYGWIN_VERSION_API_MAJOR, CYGWIN_VERSION_API_MINOR for tracking
non-backward-compatible interface changes. (currently 0.0).
* CYGWIN_VERSION_SHARED_DATA for tracking non-backward-compatible
changes to the shared memory areas. (currently 1).
Although the comments at the top of the file need updating, if you're
curious, take a look at include/cygwin32/version.h.
You will also note that the b20 Cygwin DLL will be named
"cygwin1.dll". This will only be incremented when incompatible
changes to the API or shared memory areas happen. Finally some
additional information such as build date will be included in the DLL
to help in debugging but which are not actively checked by anything.
Finally, note that we will probably change the way the mount table
looks in b20, removing that stupid "b15.0" version and putting the
The installer will hopefully be capable of moving entries from the old
location to the new one for people. Note that the mount change isn't
in this snapshot.
As usual, feedback on any of this is welcomed.
ChangeLog entries since the last snapshot follow.
noer AT cygnus DOT com
----------------------------> snip <-------------------------------
Mon Oct 19 23:45:24 1998 Geoffrey Noer <noer AT cygnus DOT com>>
* include/windows.h: remove Objective-C BOOL ifdef, now taken
care of within the include/Windows32 header files.
* fhandler_console.cc: fix KeyEvent references in light of
changes to the KeyEvent struct in the Windows32 headers.
Update include/Windows32 header files. Changes from
Mumit Khan <khan AT xraylith DOT wisc DOT edu>, Corinna Vinschen
<corinna DOT vinschen AT cityweb DOT de>, and me.
* include/Windows32/CommonFunctions.h: new file, contents from
* include/Windows32/*.h: Misc updates.
Mon Oct 19 20:26:15 1998 Christopher Faylor <cgf AT cygnus DOT com>
* debug.cc: Throughout, avoid calling *_printf while lock
is active. Previous lock count was not thread-safe.
* fhandler_console.cc (console_read): Avoid sending a
\r to caller if ENABLE_LINE_INPUT.
(fhandler_console::read): Rely on console_read to handle
Mon Oct 19 12:10:09 1998 Christopher Faylor <cgf AT cygnus DOT com>
* mkvers.sh: Use more portable constructs to allow running
this with /bin/sh, bash, and ksh.
Mon Oct 19 11:19:58 1998 Christopher Faylor <cgf AT cygnus DOT com>
* path.cc (mount_info::from_registry): Missed "b15.0" part
for writing mount information back to registry.
(mount_info::init): Remove obsolete stuff.
Mon Oct 19 10:42:17 1998 Christopher Faylor <cgf AT cygnus DOT com>
* Makefile.in: Avoid newer GNU make construction when building
Mon Oct 19 00:09:06 1998 Geoffrey Noer <noer AT cygnus DOT com>
* Makefile.in: invoke mkvers.sh with $(SHELL)
Sun Oct 18 15:19:17 1998 Christopher Faylor <cgf AT cygnus DOT com>
* fhandler.cc (set_name): Accept unit argument for generating
(fstat): Set symlink bit only if symlink_p is positive.
* fhandler.h: Reflect unit argument changes.
* fhandler_serial.cc (fhandler_serial::fhandler_serial): Accept
unit argument for generating win32_name.
* hinfo.cc (hinfo::build_fhandler): Pass unit argument to constructor
* path.cc (path_conv::path_conv): Set symlink_p to a positive
value if !nofollow, negative otherwise.
(windows_device_names): Can't default to \dev\comx. \dev part
(get_device_number): Accept just "comN" for backwards compatibility.
Sat Oct 17 01:58:15 1998 Christopher Faylor <cgf AT cygnus DOT com>
* dcrt0.cc (globify): Fix problem with argument corruption
due to use of pointer freed by realloc.
Sat Oct 17 00:10:53 1998 Christopher Faylor <cgf AT cygnus DOT com>
Change NOT_OPEN_FD to dtable.not_open throughout.
* Makefile.in: Change .dll name to cygwin1.dll. Increment
the '1' when there are API/shared memory changes. Make
version.cc file every time .dll is linked. Remove datestamp
* mkvers.sh: New file. Creates version.cc.
* cygwin.din: Export setdtablesize.
* dcrt0.cc: Remove obsolete version variables.
(build_argv): Use issep() macro rather than isspace since
isspace includes whitespace that the shell does not consider
a command separator.
(check_sanity_and_sync): Use new cygwin version defines and
structures for compatibility checking.
(__api_fatal): Renamed from api_fatal. Now always called from
macro which tacks program name to beginning of fmt. Increase
size of buffer.
* environ.cc (regopt): Use new reg_key class constructor
* net.cc (getdomainname): Ditto.
* path.cc (read_mounts): Ditto.
(hash_path_name): No need for this to be a "C" function.
* external.cc (cygwin32_internal): Export version info strings.
* external.h: Add CW_GETVERSIONINFO.
* fhandler.cc (fhandler_base::write): Eliminate use of MIN macro.
* init.cc (set_dllname): Obsolete function. Handled in version.cc.
(dll_entry): Remove reference to set_dllname.
* libccrt0.cc (this_proc): Renamed from cygwin_statu.
(cygwin_crt0_common): Record api version in this_proc.
* mmap.cc (recreate_mmaps_after_fork): No need for this to be
a "C" function.
* syscalls.cc (close_all_files): Ditto.
* pinfo.cc (lock_pinfo_for_update): Eliminate a compiler warning.
* registry.cc: Eliminate reg_session class. Augment reg_key to handle
functionality of reg_session.
* registry.h: Ditto.
* shared.cc (shared_name): No need for this to be a "C" function.
Use new cygwin version structure.
(shared_info::initialize): Use new reg_key class constructor
* smallprint.c (__small_vsprintf): Accept %P as a format specifier.
Signifies the program name.
* spawn.cc (spawn_guts): Quote *all* of the stuff the dcrt0.c considers
* tty.cc (tty::inuse_event_exists): Remove debugging printf. It results
in too much output to strace log.
* uinfo.cc: Add a needed include.
* uname.cc (uname): Use new cygwin version structure to fill in utsname
* winsup.h: Regroup into sections. Add new version structure.
* include/utmp.h: Move login/logout function declarations here.
* include/cygwin32/version.h: Define new CYGWIN version/info
Fri Oct 16 00:13:35 1998 Geoffrey Noer <noer AT cygnus DOT com>
* Makefile.in: enable building mingw subdir by default
Thu Oct 15 12:01:08 1998 Christopher Faylor <cgf AT cygnus DOT com>
* spawn.cc (spawn_guts): Set all security attributes
for CreateProcess so that sexec will work properly.
Thu Oct 15 08:49:12 1998 Christopher Faylor <cgf AT cygnus DOT com>
* hinfo.cc (hinfo::dup2): Avoid a null pointer dereference
in a debugging printf.
Wed Oct 14 18:06:51 1998 Geoffrey Noer <noer AT cygnus DOT com>
patch from Corinna Vinschen <corinna DOT vinschen AT cityweb DOT de>:
* fhandler_console.cc (fhandler_console::dup): reset
default_color since the console fhandler forgets its default
colorizing when it's `dup'ed.
(fhandler_console::fhandler_console): remove unnecessary
erasing in constructor of fhandler_console.
Mon Oct 12 22:20:59 1998 Christopher Faylor <cgf AT cygnus DOT com>
* fcntl.cc (fcntl): According to the "Single UNIX Specification",
F_DUPFD should *not* close its argument. Revert to previous
* hinfo.cc (dup2): Guard against closing target fd too early.
* pinfo.cc: Always initialize myself to a dummy value so that
myself != NULL checks are avoided.
* include/sys/strace.h (strace): Remove NULL check for myself.
* dcrt0.cc (api_fatal): Ditto.
* exceptions.cc (handle_exceptions): Ditto.
* signal.cc (sigprocmask): Ditto.
* strace.cc (get_strace_mutex): Ditto.
- Raw text -