3978 lines
150 KiB
Plaintext
3978 lines
150 KiB
Plaintext
Thu Nov 29 18:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_inet_aton): Return nonzero if the address
|
|
is valid, zero if not according to Linux man page.
|
|
|
|
Mon Nov 27 21:09:50 2000 Kelley Cook <kelley.cook@home.com>
|
|
|
|
* mmap.cc (munmap): Check that mmap and munmap length match.
|
|
|
|
Tue Nov 28 18:08:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_disk_file::open): Check for buggy CreateFile
|
|
condition.
|
|
* path.cc (path_conv::check): Get file system type in call to
|
|
GetVolumeInformation to check for file systems with buggy CreateFile.
|
|
* path.h (enum path_types): Add PATH_HASBUGGYOPEN.
|
|
(class path_conv): Add methods `has_buggy_open' and
|
|
`set_has_buggy_open'.
|
|
|
|
Sun Nov 26 16:26:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.cc (is_at_eof): New function.
|
|
(fhandler_base::raw_read): Detect special case where last error ==
|
|
ERROR_NOACCESS but the file is at EOF. Most UNIXes do not consider
|
|
this to be an error.
|
|
|
|
Sun Nov 26 14:37:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 7.
|
|
|
|
Sat Nov 25 11:27:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/version.h: Bump minor API version due to adding
|
|
inet_aton.
|
|
|
|
Sat Nov 25 11:07:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_inet_aton): New function.
|
|
* cygwin.din: Export cygwin_inet_aton as inet_aton.
|
|
|
|
Sat Nov 25 01:57:42 2000 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::read_cygdrive_info_from_registry): Read system
|
|
cygdrive prefix with KEY_READ.
|
|
(mount_info::get_cygdrive_info): Ditto.
|
|
|
|
Wed Nov 22 11:18:02 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: new-temp.a -> new-templib.a
|
|
|
|
Mon Nov 20 17:04:43 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Quoting was still wrong. Keep trying to
|
|
fix it.
|
|
|
|
Mon Nov 20 14:26:38 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): YA tweak for dealing with arcane rules of
|
|
quoting in "normal" Microsoft programs.
|
|
* child_info.h: Bump fork magic number.
|
|
* include/sys/mount.h: Add an entry for mixed mode.
|
|
|
|
Fri Nov 17 12:28:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (normalize_posix_path): Special care for root directory
|
|
in case of files beginning with a dot.
|
|
|
|
Fri Nov 17 12:28:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syslog.cc (syslog): Add users SID to NT syslog entry.
|
|
|
|
Thu Nov 16 15:59:58 2000 Bradley A. Town <townba@pobox.com>
|
|
|
|
* fhandler_console.cc: New member variable `dwBufferSize' for `info'.
|
|
(fillin_info): Set `dwBufferSize' to the size of the console buffer.
|
|
(clear_screen): Use width of console buffer to calculate how many
|
|
spaces to clear.
|
|
|
|
Thu Nov 16 15:24:45 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Make import library creation 'make -j2' friendly.
|
|
|
|
Thu Nov 16 10:28:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (uinfo_init): Call `cygwin_set_impersonation_token' to
|
|
reset `cygheap->user.token' to INVALID_HANDLE_VALUE.
|
|
|
|
Thu Nov 16 00:18:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interrupt_setup): Don't set signal mask here or races
|
|
occur with main thread. Set it in sigdelayed instead.
|
|
(sigreturn): Reflect change in stack order of ebp and flags.
|
|
(sigdelayed): Set stack frame correctly. Call set_process_mask here
|
|
with flags for last trapped signal.
|
|
(signal_dispatch): Add newmask.
|
|
* sigproc.cc (wait_sig): Eliminate ill-considered attempt to halt
|
|
looping signal processors.
|
|
* perthread.h (signal_dispatch): Add newmask field.
|
|
|
|
Wed Nov 15 22:08:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (internal_getlogin): Change parameter list to reflect
|
|
that `token' is member of cygheap_user now.
|
|
(uinfo_init): Use modified internal_getlogin.
|
|
* syscalls.cc (seteuid): Ditto.
|
|
|
|
Wed Nov 15 21:56:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.h: Move `token' and `impersonated' from class _pinfo
|
|
to class cygheap_user.
|
|
* pinfo.h: Ditto.
|
|
* fork.cc (fork_child): Change usage of `token' and `impersonated'
|
|
accordingly.
|
|
(fork_parent): Ditto.
|
|
* security.cc (cygwin_set_impersonation_token): Ditto.
|
|
* sigproc.cc (proc_subproc): Ditto.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
* syscalls.cc (seteuid): Ditto.
|
|
* uinfo.cc (uinfo_init): Ditto.
|
|
|
|
Wed Nov 15 9:59:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (spawn_guts): Revert patch to ignore chroot settings
|
|
on creating native Win32 environment.
|
|
|
|
Wed Nov 15 01:44:37 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fork.cc (slow_pid_reuse): Off-by-one.
|
|
|
|
Wed Nov 15 01:20:24 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Throughout use myself->ppid_handle rather than parent_alive.
|
|
* child_info.h (child_info): Eliminate parent_alive.
|
|
* dcrt0.cc (dll_crt0_1): Call fork_init for debugging pid creation.
|
|
* fork.cc (fork_child): Reflect change to fixup_mmaps_after_fork
|
|
arguments.
|
|
(slow_pid_reuse): New function to grab last 'n' pids to prevent pid
|
|
reuse.
|
|
(fork_parent): Move last_fork_proc into slow_pid_reuse.
|
|
fork_pids debugging. Eliminate unnecessary call to set_child_mmap_ptr.
|
|
(fork_init): New debugging function.
|
|
* mmap.cc (fixup_mmaps_after_fork): Renamed from
|
|
recreate_mmaps_after_fork. Rely on copied data after a fork.
|
|
(set_child_mmap_ptr): Eliminate.
|
|
* pinfo.h (_pinfo): Eliminate parent_alive, mmap_ptr and reflect above
|
|
changes.
|
|
* spawn.cc (spawn_guts): Eliminate vestiges of "old way" of sending new
|
|
hProc to parent process.
|
|
|
|
Wed Nov 15 0:51:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_root::cygheap_root): New function.
|
|
(cygheap_root::~cygheap_root): Ditto.
|
|
(cygheap_root::operator=): Ditto.
|
|
(cygheap_user::~cygheap_user): Ditto.
|
|
(cygheap_user::set_name): Ditto.
|
|
(cygheap_user::set_logsrv): Ditto.
|
|
(cygheap_user::set_domain): Ditto.
|
|
(cygheap_user::set_sid): Ditto.
|
|
* cygheap.h (cygheap_root): New class.
|
|
(cygheap_user): Ditto.
|
|
(init_cygheap): Change type of `root' member to cygheap_root.
|
|
Add `user' member.
|
|
* dir.cc (opendir): Use new `cygheap_root' class.
|
|
* dcrt0.cc (dll_crt0_1): Use new `cygheap_user' class.
|
|
* fork.cc (fork_parent): Ditto.
|
|
* grp.cc (getgroups): Ditto.
|
|
* passwd.cc (search_for): Ditto.
|
|
* path.cc: Use new `cygheap_root' class throughout.
|
|
* pinfo.h (_pinfo): Remove `use_psid'. Move `username', `psid',
|
|
`logsrv', `domain', `orig_{uid,gid}' and `real_{uid,gid}' to
|
|
cygheap_user class.
|
|
* security.cc: Use new `cygheap_user' class throughout.
|
|
* shared.cc (sec_user): Ditto.
|
|
* sigproc.cc (proc_subproc): Remove copy statements for user
|
|
related information moved to `cygheap_user' class.
|
|
* spawn.cc (spawn_guts): Invalidate current chroot settings
|
|
when creating Windows environment. Use new `cygheap_user' class.
|
|
* syscalls.cc: Use new `cygheap_user' class throughout.
|
|
* uinfo.cc: Ditto.
|
|
(internal_getlogin): Change parameters to reflect the
|
|
move of user information to cygheap.
|
|
|
|
Tue Nov 14 17:05:00 2000 Eric Fifer <efifer@dircon.co.uk>
|
|
|
|
* dir.cc (rewinddir): Always set __d_position = 0, so next
|
|
call to readdir() will restart the directory scan.
|
|
|
|
Tue Nov 14 00:51:28 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygheap.h (init_cygheap): New struct holding values that live in the
|
|
Cygwin heap.
|
|
* child_info.h (child_info): Change pointer type of cygheap to
|
|
init_cygheap.
|
|
* cygheap.cc (init_cheap): Point cygheap_max after contents of cygheap.
|
|
Move some stuff into cygheap.h.
|
|
* dir.cc (opendir): Change to use root and rootlen in cygheap rather
|
|
than in myself.
|
|
(mkdir): Change to use umask in cygheap rather than in myself.
|
|
* path.cc: Ditto, throughout.
|
|
* syscalls.cc (_open): Ditto. Change to use umask in cygheap rather
|
|
than in myself.
|
|
(chroot): Change to allocate root dir on the cygwin heap.
|
|
(umask): Change to use umask in cygheap rather than in myself.
|
|
(cygwin_bind): Ditto.
|
|
* sigproc.cc (proc_subproc): Don't copy umask or root stuff as this
|
|
happens automatically now.
|
|
* pinfo.h (_pinfo): Migrate stuff out of here and into init_cheap.
|
|
* dcrt0.cc (dll_crt0_1): Call cygheap_init later in startup for first
|
|
cygwin process.
|
|
|
|
Sun Nov 12 23:01:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (get_device_number): Allow /dev/ttySn to designate a com
|
|
port.
|
|
|
|
Sat Nov 11 23:55:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.h: Add __attribute__ ((regparm(x))) to commonly used functions.
|
|
* pinfo.h: Ditto.
|
|
* sigproc.h: Ditto.
|
|
* sync.h: Ditto.
|
|
|
|
Fri Nov 10 13:48:44 2000 Bradley A. Town <townba@pobox.com>
|
|
|
|
* dcrt0.cc: New global variable `ignore_case_with_glob'.
|
|
(dll_crt0_1): Disable case-insensitive globbing before calling `main'.
|
|
* environ.cc (glob_init): New static function to set or clear
|
|
`ignore_case_with_glob'.
|
|
(known): Changed "glob" entry to call `glob_init'.
|
|
* glob.c (match): Use case-insensitive globbing if needed.
|
|
|
|
Thu Nov 9 14:30:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dir.cc (readdir): Avoid reading from the beginning when
|
|
readdir is called after a previous call has returned NULL.
|
|
|
|
Wed Nov 8 21:00:31 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (peek_pipe): Deal with pending newline in pty_master.
|
|
|
|
Wed Nov 8 15:35:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (_addenv): malloc space for setenv if cygwin1.dll is used
|
|
in conjunction with older binaries.
|
|
(environ_init): Ditto.
|
|
|
|
Wed Nov 8 08:49:27 2000 Jason Tishler <jt@dothill.com>
|
|
|
|
* external.cc (get_cygdrive_info): New function.
|
|
* external.cc (get_cygdrive_prefixes): Change to use get_cygdrive_info
|
|
but toss the user and system flags.
|
|
* external.cc (cygwin_internal): Add new CW_GET_CYGDRIVE_INFO case.
|
|
* path.cc (mount_info::get_cygdrive_prefixes): Remove method.
|
|
* path.cc (mount_info::get_cygdrive_info): New method. Actually,
|
|
get_cygdrive_info is really an enhanced version of
|
|
get_cygdrive_prefixes renamed to get_cygdrive_info that also gets the
|
|
user and system flags.
|
|
* shared_info.h (get_cygdrive_prefixes): Remove method.
|
|
* shared_info.h (get_cygdrive_info): New method.
|
|
* include/cygwin/version.h: Bump minor API version due to adding
|
|
CW_GET_CYGDRIVE_INFO to cygwin_internal.
|
|
* include/sys/cygwin.h (cygwin_getinfo_types): Add
|
|
CW_GET_CYGDRIVE_INFO.
|
|
|
|
Tue Nov 7 20:58:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc: Add autoload statement for `WSASetLastError'.
|
|
* net.cc (cygwin_connect): Change error code to WSAEINPROGRESS
|
|
when connect returns WSAEWOULDBLOCK.
|
|
|
|
Mon Nov 6 15:11:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (sigthread::init): Reinstitute sigthread lock as a critical
|
|
section.
|
|
(dll_crt0_1): Move sigthread lock initialization to earlier in startup.
|
|
* exceptions.cc (interrupt_on_return): Remove previous kludgy attempt
|
|
to detect an invalid frame.
|
|
(call_handler): Eliminate inner for loop. Grab signal critical section
|
|
lock where appropriate.
|
|
* sigproc.cc (proc_subproc): Restore uid setting.
|
|
* sigproc.h (sigthread): Reinstitute sigthread lock as a critical
|
|
section.
|
|
(sigframe): Grab the sigthread lock before clearing frame to avoid
|
|
having the signal thread use an invalid frame.
|
|
|
|
Mon Nov 6 11:11:42 2000 Jason Tishler <jt@dothill.com>
|
|
|
|
* path.cc (mount_info::read_cygdrive_info_from_registry): Use
|
|
CYGWIN_INFO_CYGDRIVE_PREFIX, CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX, and
|
|
CYGWIN_INFO_CYGDRIVE_FLAGS.
|
|
* path.cc (mount_info::write_cygdrive_info_to_registry): Use
|
|
CYGWIN_INFO_CYGDRIVE_PREFIX and CYGWIN_INFO_CYGDRIVE_FLAGS.
|
|
* path.cc (mount_info::remove_cygdrive_info_from_registry): Ditto.
|
|
* path.cc (mount_info::get_cygdrive_prefixes): Use
|
|
CYGWIN_INFO_CYGDRIVE_PREFIX.
|
|
* include/cygwin/version.h: Add CYGWIN_INFO_CYGDRIVE_FLAGS,
|
|
CYGWIN_INFO_CYGDRIVE_PREFIX, and CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX.
|
|
|
|
Mon Nov 6 11:10:44 2000 Jason Tishler <jt@dothill.com>
|
|
|
|
* errno.cc (strerror): Change EAGAIN case to return "Resource
|
|
temporarily unavailable" instead of "No more processes".
|
|
|
|
Mon Nov 6 01:04:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* child_info.h (child_info): Add pppid_handle for closing the parent's
|
|
parent handle.
|
|
* dcrt0.cc (_dll_crt0): Close parent's parent handle when spawned or
|
|
forked.
|
|
* debug.cc (add_handle): Correct erroneous reference to handle
|
|
structure when printing warning.
|
|
* exceptions.cc (interrupt_now): Always return 1.
|
|
(interrupt_on_return): Accept a sigthread argument. Check to see if
|
|
this argument has been trashed prior to setting up the stack return.
|
|
(call_handler): Add a loop around attempts to dispatch signals to
|
|
detect case where interrupt_on_return fails.
|
|
(_sigdelayed): Set up a temporary frame pointer prior to calling stuff
|
|
that could trigger an interrupt or the stack walking code will be very
|
|
confused.
|
|
* fork.cc (fork_parent): Move a lot of the setup of the child process
|
|
into proc_subproc.
|
|
* spawn.cc (spawn_guts): Ditto. Use ppid_handle to contact logical
|
|
parent when reparenting execed process.
|
|
* pinfo.h (_pinfo): Remember the logical handle of the parent process.
|
|
* sigproc.cc (proc_subproc): Record most stuff necessary for the _pinfo
|
|
structure that is inferrable from myself when adding children.
|
|
(wait_sig): Always set 'pending_signals' flag when about to kick off
|
|
the signal scanning loop. Reset it only if there are no pending
|
|
signals.
|
|
|
|
Sun Nov 5 13:46:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo (wait_subproc): Son of neverending debug tweaking.
|
|
|
|
Sun Nov 5 11:45:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo (wait_subproc): Neverending debug tweaking.
|
|
|
|
Sun Nov 5 01:34:51 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (winpids:add): New method.
|
|
(winpids::enumNT): New method renamed from EnumProcessesNT.
|
|
Use add method to add elements to the lists.
|
|
(winpids::enum9x): New method renamed from EnumProcesses9x.
|
|
Use add method to add elements to the lists.
|
|
(winpids::enum_init): Accept 'winpid' parameter to control whether
|
|
to add all windows pids to the list.
|
|
(winpids::release): New method.
|
|
* pinfo.h (winpids): Reflect above changes.
|
|
* signal.cc (kill_pgrp): Ditto.
|
|
* external.cc (fillout_pinfo): Ditto.
|
|
|
|
Sat Nov 4 22:07:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (handle_sigsuspend): Record frame here for signalling.
|
|
(set_process_mask): Ditto.
|
|
|
|
Sat Nov 4 14:24:10 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (wait_subproc): Still more debugging cleanup.
|
|
|
|
Sat Nov 4 00:51:38 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (EnumProcessesNT): Avoid 0 pids.
|
|
(EnumProcesses9x): Ditto.
|
|
* sigproc.cc (remove_child): Eliminate.
|
|
(proc_subproc): Move remove_child stuff here.
|
|
(wait_subproc): Synchronize with proc_subproc when error occurs. Add
|
|
more debugging info.
|
|
* sigproc.h (procstuff): Add an entry.
|
|
* spawn.cc (spawn_guts): Add sigframe here.
|
|
|
|
Fri Nov 3 20:07:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (wait_subproc): Refine debug output.
|
|
|
|
Thu Nov 2 23:01:20 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (pinfo::init): Reverse order of setting status and pid info
|
|
in an execed process to avoid a race.
|
|
* sigproc.cc (wait_subproc): Print more info when a WFSO error occurs.
|
|
* automode.c: New file.
|
|
* syscalls.cc (close_all_files): Streamline slightly.
|
|
* cygheap.cc (ccalloc): Clear *entire* allocated array.
|
|
|
|
Thu Nov 2 01:58:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* ntdll.h: Remove IO_COUNTERS definition since it is now in winnt.h.
|
|
|
|
Thu Nov 2 00:10:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (EnumProcessesNT): New function. Eliminates dependence on
|
|
psapi.h.
|
|
(EnumProcesses9x): Rename from EnumProcessesW95. Change arguments to
|
|
be more useful for cygwin.
|
|
(winpids::init): Accomodate argument changes.
|
|
(enum_init): Ditto.
|
|
* pinfo.h (winpids): Make pidlist dynamically extendable by storing it
|
|
as a pointer and remembering the size.
|
|
* ntdll.h: Add extra definitions needed for EnumProcessesNT. Reformat
|
|
via 'indent'.
|
|
|
|
Wed Nov 1 21:08:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Remove obsolete tests.
|
|
(sigreturn): Construct pseudo-frame-pointer so that signal handler can
|
|
figure out where to put return address when signals are coming in
|
|
quickly.
|
|
* path.cc (cwdstuff::get): Allow length 0 buffer length when buffer
|
|
when NULL.
|
|
|
|
Tue Oct 31 18:12:56 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.h (has_exec_chars): Standard function for checking for
|
|
executable magic numbers.
|
|
* path.cc (symlink_info::check): Use the above function.
|
|
* fhandler.cc (fhandler_disk_file::open): Ditto.
|
|
|
|
Tue Oct 31 17:57:52 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (_readlink): Return ENOENT when file does not exist.
|
|
|
|
Tue Oct 31 23:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_dev_raw): Add method `fixup_after_exec'.
|
|
|
|
Tue Oct 31 22:39:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_dev_raw): Add definition for method
|
|
`fixup_after_fork'.
|
|
* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Add
|
|
`set_need_fixup_after_fork' call.
|
|
(fhandler_dev_raw::~fhandler_dev_raw): Revert to user space
|
|
allocation.
|
|
(fhandler_dev_raw::open): Ditto.
|
|
(fhandler_dev_raw::dup): Ditto. Reset buffer pointer.
|
|
(fhandler_dev_raw::fixup_after_fork): New function.
|
|
* fhandler_tape.cc (fhandler_dev_tape::open): Revert to user space
|
|
memory allocation.
|
|
(fhandler_dev_tape::ioctl): Ditto. Change behaviour on MTSETBLK when
|
|
new size is 1.
|
|
|
|
Tue Oct 31 20:56:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_tape.cc (fhandler_dev_tape::open): Fix memory allocation.
|
|
Use Cygwin heap instead of user heap.
|
|
(fhandler_dev_tape::ioctl): Ditto.
|
|
|
|
Tue Oct 31 12:00:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (enum_init): Don't suffer silently if we can't load the
|
|
process enumerators.
|
|
|
|
Mon Oct 30 16:54:26 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* signal.cc (kill_pgrp): Revert 25-Oct change.
|
|
(kill_worker): Ditto.
|
|
|
|
Sun Oct 29 20:52:31 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 6.
|
|
|
|
Sat Oct 28 01:39:53 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* configure.in: Eliminate subdir stuff.
|
|
* configure: Regenerate.
|
|
* include/getopt.h (option): Make name field 'const'.
|
|
|
|
Fri Oct 27 20:51:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc: New file keeping all autoload stuff.
|
|
* Makefile.in: Add autoload.o to dependencies.
|
|
* dcrt0.cc: Move all autoload stuff to autoload.cc.
|
|
* fhandler_mem.cc: Ditto.
|
|
* net.cc: Ditto.
|
|
* uinfo.cc: Ditto.
|
|
|
|
Fri Oct 27 11:37:20 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (wait_sig): Add braces to avoid confusion.
|
|
|
|
Fri Oct 27 11:48:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc: New file.
|
|
* Makefile.in: Add fhandler_socket.o to dependencies.
|
|
* fhandler.h: Change comment.
|
|
* net.cc Move all fhandler_socket methods to fhandler_socket.cc.
|
|
* winsup.h: Add declaration for `ws2_32_handle'.
|
|
|
|
Thu Oct 26 11:51:59 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::release): Check for socket. Change
|
|
cnt_need_fixup_before accordingly.
|
|
(dtable::dup2): Ditto.
|
|
(dtable::fixup_before_fork): New method.
|
|
(dtable::fixup_before_exec): Ditto.
|
|
* dtable.h (class dtable): Add member `cnt_need_fixup_before'. Add
|
|
definition for methods `dec_need_fixup_before', `inc_need_fixup_before',
|
|
`need_fixup_before', `fixup_before_exec' and `fixup_before_fork'.
|
|
* fhandler.h (class fhandler_base): Slight rearrangements. Add
|
|
definitions for methods `fixup_before_fork_exec'.
|
|
(class fhandler_socket): Eliminate superfluous constructor.
|
|
Add member `prot_info_ptr'. Add destructor. Add definitions for
|
|
methods `dup', `fixup_before_fork_exec', `fixup_after_fork' and
|
|
`fixup_after_exec'.
|
|
* fork.cc (fork_parent): Care for file types which need a fixup
|
|
before fork. Start child in suspended state then.
|
|
* net.cc: New global variable `ws2_32_handle' and `wsadata'.
|
|
(fdsock): Check for Winsock version. Call `set_socket_inheritance'
|
|
only if Winsock version < 2.0. Care for `need_fixup' count in fdtab.
|
|
(cygwin_socket): Eliminate call to `set_socket_inheritance'.
|
|
(cygwin_accept): Ditto.
|
|
(cygwin_rcmd): Ditto.
|
|
(cygwin_rresvport): Ditto.
|
|
(cygwin_rexec): Ditto.
|
|
(socketpair): Ditto.
|
|
(fhandler_socket::fhandler_socket): Set `need_fork_fixup'. Allocate
|
|
space for the WSAPROTOCOL_INFOA struct used in fixup.
|
|
(fhandler_socket::~fhandler_socket): New destructor.
|
|
(fhandler_socket::fixup_before_fork_exec): New method.
|
|
(fhandler_socket::fixup_after_fork): Ditto.
|
|
(fhandler_socket::dup): Ditto.
|
|
(wsock_init): New static function.
|
|
(LoadDLLinitfunc (wsock32)): Rearranged.
|
|
(LoadDLLinitfunc (ws2_32)): New function.
|
|
(dummy_autoload): Add autoload statemants for `WSADuplicateSocketA'
|
|
and `WSASocketA'.
|
|
* spawn.cc (spawn_guts): Care for file types which need a fixup
|
|
before exec. Start child in suspended state then.
|
|
|
|
Wed Oct 25 20:49:59 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* signal.cc (kill_pgrp): Don't limit sending of signals to stopped
|
|
processes when sig < 0.
|
|
(kill_worker): Only send SIGCONT to stopped processes when sendSIGCONT.
|
|
|
|
Wed Oct 25 13:56:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (sig_handle): Just make sure that wait_sig loops when
|
|
receiving a SIGCONT. Don't block waiting for completion that will
|
|
never occur.
|
|
|
|
Wed Oct 25 09:59:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dtable.cc (dtable::fixup_after_exec): Use variable rather than
|
|
constantly indexing into fds array.
|
|
(dtable::fixup_after_fork): Ditto.
|
|
|
|
Wed Oct 25 10:43:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::fcntl): Treat O_NONBLOCK and OLD_O_NDELAY
|
|
as exactly the same. If one is set, both are set.
|
|
* net.cc (fhandler_socket::fcntl): Ditto.
|
|
|
|
Tue Oct 24 23:58:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (do_exit): Remove debugging statement.
|
|
|
|
Tue Oct 24 23:45:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (do_exit): Don't bother looking for pgrp children to send
|
|
SIGHUP if process has never created any children.
|
|
* fork.cc (fork): Set flag indicating that there is another process
|
|
with our process group.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
* pinfo.h (set_has_pgid_children): New methods for setting when process
|
|
has children in its process group.
|
|
* syscalls.cc (setpgid): Clear has_gid_children if pgid changes.
|
|
|
|
Tue Oct 24 20:38:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ntdll.h: New file.
|
|
* fhandler_mem.cc: Move ntdll.dll specific definitions and
|
|
declarations to ntdll.h.
|
|
* sysconf.cc (sysconf): Add support for _SC_NPROCESSORS_CONF,
|
|
_SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES and _SC_AVPHYS_PAGES.
|
|
|
|
Tue Oct 24 20:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::fcntl): Behave properly when passed
|
|
previous version of O_NDELAY.
|
|
* syscalls.cc: Move OLD_O_NDELAY to winsup.h.
|
|
* winsup.h: Define OLD_O_NDELAY now.
|
|
|
|
Mon Oct 23 21:47:55 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (signal_exit): Kill any executing child process if
|
|
we're dying.
|
|
* path.h: Remove unneeded extern.
|
|
* spawn.cc (std_suffixes): Make static. Don't set dwProcessId here
|
|
since it makes the process unsignalable. Set strace flag that this is
|
|
an execed process stub.
|
|
* strace.cc (strace::vsprntf): Use strace flag to indicate when to
|
|
visually flag that this is an exec stub.
|
|
* include/sys/strace.h (strace): Add 'execing' flag.
|
|
|
|
Mon Oct 23 16:43:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (proc_subproc): Don't send a false positive if WNOHANG and
|
|
no processes are available for waiting.
|
|
|
|
Mon Oct 23 22:27:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::fcntl): Setting flags in F_SETFL
|
|
branch according to Linux documentation.
|
|
|
|
Mon Oct 23 21:43:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fcntl.cc (_fcntl): Rearrange as wrapper function. Move all
|
|
functionality except F_DUPFD to fhandler classes.
|
|
* fhandler.cc (fhandler_base::fcntl): New method.
|
|
* net.cc (fhandler_socket::fcntl): Ditto.
|
|
* fhandler.h (class fhandler_base): Add method prototype for fcntl().
|
|
(class fhandler_socket): Ditto.
|
|
|
|
Mon Oct 23 12:44:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (proc_subproc): Correctly handle flags for WNOHANG case.
|
|
|
|
Mon Oct 23 10:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc: Eliminate C++ comments throughout.
|
|
|
|
Sun Oct 22 23:33:00 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* 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 <corinna@vinschen.de>
|
|
|
|
* pinfo.cc (pinfo_init): Eliminate call to `set_process_privileges'.
|
|
* security.cc (write_sd): Call `set_process_privileges' on the first
|
|
call to `write_sd'.
|
|
(set_process_privileges): Eliminate adjusting SE_BACKUP_NAME privilege.
|
|
|
|
Sat Oct 21 16:57:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (pinfo::init): Make PID_EXECED signal creation as well as
|
|
PID_IN_USE.
|
|
|
|
Sat Oct 21 01:52:54 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Don't do the reparenting step if we notice
|
|
that the child has exited prior to sending the subprocess_ready signal
|
|
(?).
|
|
|
|
Sat Oct 21 00:46:36 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (fhandler_console): Remove tcsetpgrp.
|
|
* fhandler_console.cc (fhandler_console::tcsetpgrp): Eliminate.
|
|
* fork.cc (fork_parent): Avoid returning same pid twice in a row
|
|
regardless of OS.
|
|
* pinfo.cc (pinfo::init): Rename create argument to flags and treat it
|
|
as such.
|
|
* signal.cc (set_sigcatchers): New function.
|
|
(signal): Use set_sigcatchers to increment or decrement sigcatcher
|
|
tracker.
|
|
(sigaction): Ditto. Add debugging output.
|
|
* spawn.cc (spawn_guts): Always quote first argv[0] argument when it's
|
|
a COMSPEC shell.
|
|
|
|
2000-10-20 DJ Delorie <dj@redhat.com>
|
|
|
|
* times.cc (to_time_t): pass zero time as epoch
|
|
* fhandler.cc (fstat): copy atime/ctime from mtime if they're zero
|
|
|
|
Thu Oct 19 23:31:41 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* external.cc (fillout_pinfo): Pass PID_NOREDIR flag to pinfo init to
|
|
avoid finding execed processes twice.
|
|
* signal.cc (kill_pgrp): Ditto.
|
|
* spawn.cc (spawn_guts): Avoid passing first argument to CreateProcess
|
|
when running a windows shell so that CreateProcess will locate the
|
|
shell. Reorganize so that correct error is returned when CreateProcess
|
|
fails.
|
|
|
|
Thu Oct 19 13:55:31 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (sigthread::init): Correct overzealous ifdef.
|
|
* exceptions.cc (call_handler): Avoid calling sigthread acquire lock.
|
|
* sigproc.h (sigthread): Comment out lock for now.
|
|
* sync.cc (muto::acquire): Add a minor optimization.
|
|
|
|
2000-10-18 DJ Delorie <dj@redhat.com>
|
|
|
|
* Makefile.in: add miscfuncs.cc
|
|
* miscfuncs.cc: new, miscellaneous functions
|
|
* winsup.h: define table-driven tolower/toupper
|
|
* environ.cc: use them
|
|
* fhandler_console.cc: ditto
|
|
* fhandler_termios: ditto
|
|
* path.cc: ditto
|
|
(strncasematch, strcasematch, strcasestr): move to miscfuncs.cc
|
|
|
|
Wed Oct 18 20:50:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.h (sigthread): Eliminate locking for now since per thread
|
|
signalling is not available.
|
|
* dcrt0.cc (sigthread::init): Ditto.
|
|
(dll_crt0_1): Move set_process_privileges call (temporarily?) to
|
|
pinfo_init.
|
|
(pinfo_init): Only call set_process_privileges when allow_ntsec.
|
|
|
|
2000-10-18 DJ Delorie <dj@redhat.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): init cygcwd before forkee branch
|
|
|
|
* environ.cc (conv_start_chars): Cache a table of "first
|
|
characters" for environment variables needing conversion.
|
|
(getwinenv): Use it.
|
|
(environ_init): Create it, also check first chars for TERM and
|
|
CYGWIN.
|
|
|
|
* path.cc: Use lookup table for case insensitive comparisons.
|
|
|
|
Wed Oct 18 00:48:49 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (call_handler): Make signal pending if sigsave.sig is
|
|
still active.
|
|
* syscalls.cc (_read): Don't clear errno.
|
|
* sigproc.cc (wait_sig): Don't scan the waiting process list after a
|
|
SIGCHLD if there are no zombies to reap.
|
|
* winsup.h: Use __builtin_strcmp.
|
|
* environ.cc (posify): Don't initialize len unless it is required
|
|
(from DJ Delorie <dj@redhat.com>).
|
|
|
|
Tue Oct 17 14:50:31 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (proc_subproc): Remove unneeded test for correct process
|
|
in PROC_ADDCHILD. Return 0 when terminated child has just been
|
|
reparented.
|
|
(wait_subproc): Only send SIGCHLD when proc_subproc returns != 0.
|
|
* strace.cc (strace::vsprntf): Only strip .exe extension from program
|
|
name.
|
|
|
|
2000-10-16 Charles Wilson <cwilson@ece.gatech.edu>
|
|
|
|
* fhandler_clipboard.cc: new file
|
|
* Makefile.in: include fhandler_clipboard.o in DLL_OFILES list.
|
|
* fhandler.h: add FH_CLIPBOARD to the devices enum.
|
|
(fhandler_dev_clipboard): new
|
|
* path.cc (windows_device_names): add "\\dev\\clipboard"
|
|
(get_device_number): check for "clipboard"
|
|
* dcrt0.cc: declare a few more functions from winuser.h
|
|
* dtable.cc (dtable::build_fhandler): check for FH_CLIPBOARD in
|
|
switch().
|
|
|
|
Mon Oct 16 21:36:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* debug.cc (add_handle): Issue warning on attempts to add the same
|
|
handle more than once.
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Protect some handles.
|
|
(fhandler_tty_common::close): Use proper name when closing handles.
|
|
(fhandler_pty_master::close): Don't close to_slave or from_slave since
|
|
they've already been closed earlier in the function.
|
|
* sigproc.cc (proc_subproc): Don't protect vchild->hProcess. Expect
|
|
that the caller will do this, instead.
|
|
* tty.cc (tty_list::terminate): Use proper name when closing handles.
|
|
(tty::make_pipes): Protect some handles.
|
|
|
|
Mon Oct 16 18:37:22 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Remove some obsolete stuff.
|
|
* dcrt0.cc (dll_crt0_1): Call signal_fixup_after_exec where appropriate.
|
|
Set myself->uid from parent version.
|
|
Just use ThreadItem Init method. Close or store hexec_proc as appropriate.
|
|
(_dll_crt0): Store user_data->forkee here so that proper tests can be made
|
|
subsequently.
|
|
(do_exit): Remove hExeced stuff.
|
|
* environ.cc (environ_init): Accept environ count as well as environ pointer.
|
|
* environ.h: Reflect above change.
|
|
* pinfo.cc (pinfo_init): Ditto. Accept environ count.
|
|
(fixup_in_spawned_child): Remove.
|
|
* spawn.cc (spawn_guts): Move signal code to dll_crt0_1. Don't suspend
|
|
execing process since it is no longer necessary. Store envc.
|
|
* exceptions.cc (signal_fixup_after_exec): New function.
|
|
(call_handler): Remove hExeced test.
|
|
* child_info.h (cygheap_exec_info): Store envc as well as envp.
|
|
(child_info_spawn): Store hexec_proc so that it can be closed in child.
|
|
* path.cc (normalize_posix_path): Avoid intermediate use of temporary cwd buf.
|
|
(normalize_win32_path): Ditto.
|
|
(cwdstuff::get_initial): Always set lock.
|
|
* sigproc.h: Remove hExeced.
|
|
* strace.cc (strace::vsprntf): Modify to accomodate for lack of hExeced.
|
|
* thread.cc (MTinterface::Init): Merge Init1 and ClearReent into this method.
|
|
(MTinterface::Init1): Eliminate.
|
|
(MTinterface::ClearReent): Eliminate.
|
|
* thread.h: Reflect above changes.
|
|
* include/sys/strace.h (strace): Make microseconds() public.
|
|
|
|
Sun Oct 15 21:54:52 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Make various functions 'regparm', throughout.
|
|
* pinfo.h (_pinfo): Inline simple signal manipulation functions.
|
|
Requires inclusion of thread.h which was removed from .cc files, where
|
|
appropriate. throughout.
|
|
* pinfo.cc: Eliminate signal manipulation functions.
|
|
(_pinfo::exit): Calculate total rusage for exiting process here.
|
|
* cygheap.cc (size2bucket): Eliminate.
|
|
(init_buckets): Ditto.
|
|
(_cmalloc): Calculate size and bits in a loop rather than going through
|
|
a function call.
|
|
(_crealloc): Use stored array index to calculate allocated size.
|
|
* spawn.cc (spawn_guts): Use _pinfo exit method to exit, calculating
|
|
cpu usage.
|
|
|
|
Sat Oct 14 21:24:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (set_console_handler): Don't allocate
|
|
console_handler_thread_waiter. It is obsolete.
|
|
(ctrl_c_handler): Don't use console_handler_thread_waiter.
|
|
* path.cc (hash_path_name): Fix handling of relative names. Make case
|
|
insensitive.
|
|
* path.h (suffix_info): Use initializers.
|
|
* pinfo.h (_pinfo): Avoid initializers for null case.
|
|
* resource.cc (fill_rusage): Zero rest of rusage structure.
|
|
* security.cc (set_process_privileges): Don't reopen parent process.
|
|
Just use hMainProc.
|
|
* signal.cc (signal): Track when a signal handler has been used.
|
|
(sigaction): Ditto.
|
|
* sigproc.cc (pchildren): Use default initializer.
|
|
(zombies): Ditto.
|
|
(sigproc_terminate): Avoid closing handles that will be closed on exit
|
|
anyway.
|
|
(wait_sig): Send signal to "parent" on EXECing, not FORKing.
|
|
(wait_subproc): Send SIGCHLD here rather than in proc_wait to avoid
|
|
potential muto conflicts.
|
|
* sigproc.h (sigthread): Don't initialize to zero. It's the default.
|
|
* spawn.cc (spawn_guts): Fill in resources from exec parent prior to
|
|
termination.
|
|
* sync.h (muto): Don't initialize to zero.
|
|
* syscalls.cc (close_all_files): Use one lock around entire loop and
|
|
call fhandler close/release stuff directly.
|
|
(_read): Don't use ready_for_read if there are not signal handlers
|
|
active.
|
|
|
|
Sat Oct 14 12:24:24 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Fix display of "title".
|
|
(do_exit): Use pinfo exit method to exit.
|
|
(__api_fatal): Ditto.
|
|
* exceptions.cc (signal_exit): Ditto.
|
|
* fork.cc (fork_child): Remove debugging stuff. Use pinfo_fixup_after
|
|
fork in place of exec_fixup_after_fork.
|
|
* pinfo.cc (pinfo_fixup_after_fork): New method.
|
|
(pinfo_fixup_in_spawned_child): Ditto.
|
|
(_pinfo::exit): New method.
|
|
(_pinfo::init): Remove recursion. Detect pathological case where pinfo
|
|
structure already exists for new pid.
|
|
* pinfo.h (_pinfo): Reorganize slightly. Add new method and new
|
|
function declarations.
|
|
* sigproc.cc (proc_exists): Previous simplification was a little to
|
|
simple. Try harder to detect if a process exists.
|
|
(proc_terminate): Use PID_EXITED setting to determine if process is
|
|
still around.
|
|
(WFSO): Remove debugging statement.
|
|
(WFMO): Ditto.
|
|
* spawn.cc (exec_fixup_after_fork): Eliminate.
|
|
(spawn_guts): Always set old_title to NULL. Is it really needed? Move
|
|
hexec_proc to pinfo.cc. Call pinfo_fixup_in_spawned_child to eliminate
|
|
handle link after a spawn.
|
|
* include/sys/cygwin.h: Remove PID_NOT_IN_USE. Add PID_EXITED.
|
|
|
|
Sat Oct 14 10:54:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Add symbol hstrerror.
|
|
* net.cc: Change meaning of member `s' of struct host_errmap.
|
|
(set_host_errno): Fix error in loop condition.
|
|
(hstrerror): Ditto.
|
|
(herror): Add appropriate functionality.
|
|
* include/netdb.h: Add declaration of hstrerror.
|
|
* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 29.
|
|
|
|
Sat Oct 14 01:45:25 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygheap.cc (cygheap_fixup_in_child): Don't page round cygheap copied
|
|
from parent.
|
|
* dcrt0.cc (do_exit): Don't cleanup pinfo on exit. That happens
|
|
automatically now.
|
|
* exceptions.cc (signal_exit): Ditto.
|
|
* fork.cc (fork_parent): Use stack_here value passed in from fork().
|
|
(fork): Figure out top of stack here and pass it to fork_parent.
|
|
* pinfo.cc (_pinfo::record_death): Eliminate.
|
|
* pinfo.h (_pinfo): Ditto.
|
|
* sigproc.cc (proc_exists): Simplify.
|
|
(proc_terminate): Ditto.
|
|
(remove_zombie): Don't cleanup pinfo stuff.
|
|
(wait_sig): Send subproc_ready signal whether execed or spawned.
|
|
* spawn.cc (spawn_guts): Always create subproc_ready event. Use it for
|
|
both exec and spawn.
|
|
(_spawnve): Send proper mode to spawn_guts when mode != _P_OVERLAY.
|
|
|
|
Thu Oct 12 23:11:05 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dtable.cc (dtable::fixup_after_fork): Revert thinko below.
|
|
* pinfo.cc (set_myself): Show pid in initial strace line.
|
|
|
|
Thu Oct 12 17:58:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* child_info: Bump child_info "version".
|
|
(child_info): Move some fields from child_info_spawn to here.
|
|
* cygheap.cc: Make cygheap pointers NOCOPY.
|
|
* dcrt0.cc (dll_crt0_1): Copy cygwin heap here regardless of whether
|
|
we've been forked or execed.
|
|
* dtable.cc (dtable::fixup_after_fork): Just release close-on-exec fds.
|
|
* exceptions.cc (stackdump): Respond to C warning.
|
|
* fork.cc: Reorganize to minimize stack copying.
|
|
(fork_child): New function.
|
|
(fork_parent): Ditto.
|
|
(sync_with_child): Don't suspend the forkee.
|
|
(sync_with_parent): Ditto. Make into a function.
|
|
* heap.cc (heap_init): Add some debugging output.
|
|
* path.cc (path_conv::check): Add an assertion.
|
|
(has_suffix): Ditto.
|
|
* security.cc (get_pw_sid): Defend against NULL.
|
|
* sigproc.cc (proc_subproc): Fix debugging output.
|
|
(wait_sig): Ditto.
|
|
* strace.cc: Make statics NO_COPY throughout.
|
|
(strace::vsprntf): Defend against NULL.
|
|
|
|
Thu Oct 12 00:25:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* errno.cc (seterrno_from_win_error): Fix debugging output.
|
|
* fhandler.cc (fhandler_base::fstat): Move to inline method in
|
|
fhandler.h.
|
|
(fhandler_base::set_io_handle): Ditto.
|
|
* fhandler.h (fhandler_base): Make some methods inline.
|
|
* fhandler_console.cc (fhandler_console::write_normal): Make buffer
|
|
larger.
|
|
* sigproc.h (sigframe::sigframe): Actually use set ebp parameter
|
|
correctly.
|
|
* spawn.cc (spawn_guts): Set dwProcessId when exec'ing. Just exit
|
|
immediately after reparenting.
|
|
* syscalls.cc: Sprinkle sigframe stuff throughout.
|
|
* wait.cc (wait4): Set signal frame here.
|
|
|
|
Tue Oct 10 19:54:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (__api_fatal): Don't rely on small_printf to display errors.
|
|
Always display problems to the console, if possible.
|
|
|
|
Tue Oct 10 15:21:10 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (cwdstuff::get): Set EINVAL when length is zero.
|
|
|
|
Mon Oct 9 14:07:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (mount_info::cygdrive_posix_path): Handle e:foo construction
|
|
correctly.
|
|
|
|
Mon Oct 9 16:44:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_mem.cc (fhandler_dev_mem::fhandler_dev_mem):
|
|
Fix debug output.
|
|
|
|
Mon Oct 9 15:58:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_mem.cc: Eliminate unused include statements.
|
|
(fhandler_dev_mem::fhandler_dev_mem): Check for 9X/ME.
|
|
|
|
Mon Oct 9 15:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_dev_mem): Erase member `init_phase' and
|
|
member function `init'.
|
|
* fhandler_mem.cc: Add typedefs for NT internal data types
|
|
`SYSTEM_INFORMATION_CLASS' and `SYSTEM_BASIC_INFORMATION'.
|
|
Add prototype for `NtQuerySystemInformation' function.
|
|
(fhandler_dev_mem::fhandler_dev_mem): Takes over initialization task
|
|
from `init'. Use `NtQuerySystemInformation' function to evaluate the
|
|
size of physical memory instead of interval search.
|
|
(fhandler_dev_mem::init): Eliminated.
|
|
(fhandler_dev_mem::open): Don't call `init'.
|
|
(fhandler_dev_mem::read): Eliminate check for `init_phase'.
|
|
(dummy_autoload): Add load statement for `NtQuerySystemInformation'.
|
|
|
|
Sun Oct 8 22:38:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dtable.cc (set_std_handle): Use std_consts array to control
|
|
SetStdHandle settings.
|
|
(dtable::fixup_after_fork): Ditto.
|
|
* exceptions.cc (set_sig_errno): Remove some debugging output.
|
|
* path.cc (path_conv::check): Don't OR need_directory with flags sent
|
|
to symlink_info::check.
|
|
(symlink_info::check): Use PATH_ALL_EXEC to determine when a file is
|
|
executable.
|
|
* path.h (path_types): Add PATH_ALL_EXEC.
|
|
(isexec): Use PATH_ALL_EXEC so that cygexec types will be considered
|
|
executable.
|
|
* pinfo.h (_pinfo): Add a process handle that is kept open throughout
|
|
the life of a cygwin pid.
|
|
* sigproc.cc (proc_exists): Remove hopefully obsolete stuff.
|
|
(proc_subproc): Set up process handle that is kept open throughout the
|
|
life of a cygwin pid. Reorganize PROC_WAIT stuff to use common code.
|
|
(proc_terminate): Close pid lifetime process handle.
|
|
(checkstate): Cleanup.
|
|
(stopped_or_terminated): Move zombie cleanup.
|
|
(remove_zombie): To here.
|
|
* spawn.cc (spawn_guts): Reorganize reparenting code for 1247th time.
|
|
|
|
Sat Oct 7 13:59:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (fhandler_base): Remove obsolete _rpos and _rsize
|
|
elements.
|
|
* fhandler.cc (fhandler_base::open): Ditto.
|
|
* fhandler.cc (fhandler_base::fhandler_base): Ditto.
|
|
(fhandler_base::read): Ditto. Add more debugging output. Don't issue
|
|
a \r when \r\n detected.
|
|
* pipe.cc (make_pipe): Streamline slightly. Make debug output more
|
|
interesting.
|
|
* strace.cc (strace::vsprintf): Use __progname where appropriate to
|
|
distinguish strace output when exec'ing.
|
|
|
|
Sat Oct 7 19:25:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_dev_mem): Add methods mmap, munmap and msync.
|
|
Add `unit' member.
|
|
* fhandler_mem.cc (fhandler_dev_mem): Initialize `unit' as well.
|
|
(init): Care for differences between /dev/mem, /dev/kmem (not
|
|
implemented yet) and /dev/port.
|
|
(open): Change debug message to reflect the device.
|
|
(mmap): New function.
|
|
(munmap): Ditto.
|
|
(msync): Ditto.
|
|
(fstat): Use unit when setting st_dev in stat structure.
|
|
* mmap.cc (mmap): Handle MAP_ANONYMOUS flag.
|
|
Change error handling slightly.
|
|
* path.cc (get_device_number): Handle /dev/port.
|
|
|
|
Fri Oct 6 23:21:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* syscalls.cc (_read): Behave properly when passed previous version of
|
|
O_NDELAY. Fix up debugging output.
|
|
|
|
Thu Oct 5 20:34:48 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* net.cc (set_socket_inheritance): Rename from duplicate_socket. Use
|
|
NT specific call when appropriate.
|
|
(__set_winsock_errno): Rename from set_winsock_errno. Accept function
|
|
and line as arguments.
|
|
* path.cc (path_conv::check): Continue the neverending battle to make
|
|
cygwin properly understand that path specs ending in a slash require
|
|
that the path refer to a directory. Windows does not do this by
|
|
default.
|
|
(symlink_info::check): Remove ENOTDIR test. Move it to
|
|
path_conv::check.
|
|
* path.h: Remove obsolete constant.
|
|
* winsup.h (set_winsock_errno): New macro.
|
|
|
|
Thu Oct 5 14:58:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h: Add mmap(), munmap() and msync() to fhandler_base
|
|
and fhandler_disk_file.
|
|
* mmem.cc (mmap): Eliminated device dependent implementation details.
|
|
These are moved to the appropriate fhandler class.
|
|
(munmap): Ditto.
|
|
(msync): Ditto.
|
|
(fhandler_base::mmap): New method.
|
|
(fhandler_base::munmap): Ditto.
|
|
(fhandler_base::msync): Ditto.
|
|
(fhandler_disk_file::mmap): Ditto.
|
|
(fhandler_disk_file::munmap): Ditto.
|
|
(fhandler_disk_file::msync): Ditto.
|
|
|
|
Thu Oct 5 01:52:43 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* net.cc: General cleanup.
|
|
(fdsock): Return pointer to created fhandler_socket.
|
|
(cygwin_socket): Use pointer returned by fdsock. Return correct errno
|
|
when fd < 0.
|
|
|
|
Thu Oct 5 00:48:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Add extra debugging.
|
|
* sigproc.h (wait_sig): Fill in frame pointer, by default, prior to
|
|
calling or suffer confusion due to September 7 change below.
|
|
|
|
Wed Oct 4 23:10:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/netinet/tcp.h: Remove winsock.h include.
|
|
* include/sys/cygwin.h: Move windows specific reference within
|
|
conditional.
|
|
|
|
Thu Oct 5 1:13:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/sys/mman.h: Add missing MAP_FAILED macro.
|
|
|
|
Wed Oct 4 18:48:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_dev_mem): Add method `init'. Add members
|
|
`mem_size' and `init_phase'.
|
|
* fhandler_mem.cc (init): New function to figure out the size of
|
|
the physical memory.
|
|
(open): Add checking for illegal flags. Change usage of access mode.
|
|
(write): Add intended functionality.
|
|
(read): Add parameter checking. Eliminate page size constant. Use
|
|
getpagesize() instead. Don't touch errno and don't create debug output
|
|
while init() is running.
|
|
(lseek): Add bounds checking. Fix SEEK_END.
|
|
(fstat): Eliminate page size constant. Use getpagesize() instead.
|
|
(dup): Add intended functionality.
|
|
|
|
Mon Oct 2 22:15:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc: Add LoadDLLFunc statement for RegEnumValueA().
|
|
* net.cc: Change comments related to get_ifconf.
|
|
(get_2k_ifconf): Eliminate `type' variable. Eliminate `sa' parameter.
|
|
(get_nt_ifconf): Ditto.
|
|
(get_9x_ifconf): Ditto. Rewritten.
|
|
(get_ifconf): Change calls to OS specific functions.
|
|
|
|
Mon Oct 2 15:15:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* signal.cc (sigaction): Allow new action == oldaction.
|
|
|
|
Mon Oct 2 11:05:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_mem.cc: Load ntdll functions via autoload method.
|
|
(load_ntdll_funcs): Eliminated.
|
|
|
|
Sun Oct 1 16:36:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_mem.cc (load_ntdll_funcs): Add missing __stdcall qualifiers.
|
|
|
|
Sun Oct 1 22:20:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygheap.cc (cygheap_init): Born again function.
|
|
(_cmalloc): Reorganize to accomodate muto locking.
|
|
(_cfree): Use muto lock to avoid multi-thread problems.
|
|
* cygheap.h (incygheap): Just use cygheap_max to find upper cygwin heap
|
|
bounds.
|
|
* dcrt0.cc (dll_crt0_1): Reinstitute cygheap_init call.
|
|
* path.cc (getcwd): Just return cwdstuff::get result, allowing correct
|
|
handling of negative length.
|
|
(cwdstuff::get): Malloc a buffer if one is not available.
|
|
|
|
Sun Oct 1 2:56:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Makefile.in: Add fhandler_mem.o to the dependencies.
|
|
* dtable.cc (dtable::build_fhandler): Add case for FH_MEM.
|
|
* fhandler.h: Add FH_MEM device type. Add class fhandler_dev_mem.
|
|
* fhandler_mem.cc: New file. Implementation of class fhandler_dev_mem.
|
|
* path.cc: Add /dev/mem to windows_device_names.
|
|
(get_device_number): Add FH_MEM type.
|
|
|
|
Sat Sep 30 00:43:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygheap.cc (init_cheap): Set aside space for heap walk pointer.
|
|
(_csbrk): Make logic for detecting when to alloc cognizant of
|
|
initialization condition.
|
|
(_cmalloc): Use a structure to hold bucket size and heap chain pointer.
|
|
Store pointer to next freed block in bucket size location so that it
|
|
will be easy to see if a block is allocated.
|
|
(_cfree): Store pointer to next freed block in bucket size location.
|
|
(_crealloc): Use macro to retrieve bucket size.
|
|
(cygheap_init): Eliminate.
|
|
(cygheap_fixup_in_child): Add second argument to determine if we were
|
|
execed or not. In execed case, walk the heap, cleaning up any orphaned
|
|
blocks.
|
|
* cygheap.h: Add a "MAX" value to cygheap_types. Remove cygheap_init
|
|
declaration. Accomodate new argument to cygheap_fixup_in child.
|
|
* fork.cc (fork): Accomodate extra argument to cygheap_fixup_in_child.
|
|
* dcrt0.cc (dll_crt0_1): Ditto. Remove call to cygheap_init.
|
|
|
|
Fri Sep 29 21:49:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (symlink_info::check): Set executable bit for a file if the
|
|
first two characters are 'MZ' to mirror spawn_guts check.
|
|
|
|
Sat Sep 30 03:34:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* winsup.h: Add `winME' to os_type symbols.
|
|
* dcrt0.cc (set_os_type): Identify Windows ME systems.
|
|
* (host_dependent_constants::init): Care for winME.
|
|
* uname.cc (uname): Ditto.
|
|
|
|
Thu Sep 28 01:46:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (get_ifconf): Code cleanup. Split. Call os dependent
|
|
subfunctions instead.
|
|
(get_9x_ifconf): New function for 9X systems, called by get_ifconf.
|
|
(get_nt_ifconf): New function for NT systems, called by get_ifconf.
|
|
(get_2k_ifconf): New function for W2K systems, called by get_ifconf.
|
|
|
|
Wed Sep 27 01:10:07 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Attempt to accomodate archaic windows quoting
|
|
mechanism when dealing with '\' and '"'.
|
|
|
|
Mon Sep 25 20:47:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (quoted): Fix problem where ' quoted strings were skipped.
|
|
* fhandler.h (fhandler_socket::~fhandler_socket): Delete declaration.
|
|
* net.cc: Remove unnecessary "number_of_sockets" usage.
|
|
(fhandler_socket::fhandler_socket): Ditto.
|
|
(fhandler_socket::~fhandler_socket): Delete definition.
|
|
* spawn.cc (spawn_guts): Force first argument passed to CreateProcess
|
|
as a command line to be windows style.
|
|
|
|
2000-09-25 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (av::dup_maybe): Make function void rather than void *.
|
|
* environ.cc (environ_init): Remember to reparse CYGWIN if envp is
|
|
supplied.
|
|
* heap.cc (_sbrk): Remember frame for signal handling.
|
|
* syscalls.cc (read_handler): Eliminate.
|
|
(_read): Move read_handler code here. Reorganize for one path through
|
|
'ready_for_read'.
|
|
|
|
Tue Sep 19 09:46:36 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Use actual program argument passed in for
|
|
argv[0] as originally suggested by Kazuhiro Fujieda
|
|
<fujieda@jaist.ac.jp>.
|
|
|
|
Mon Sep 18 23:17:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.h: Create new input path flag PATH_NEEDDIR.
|
|
* path.cc (path::check): Detect trailing slash before converting to
|
|
windows path. Tell symlink_info::check to check for directory if one is
|
|
found.
|
|
(symlink_info::check): Set errno when path is not a directory if
|
|
pflags & PATH_NEEDDIR.
|
|
|
|
Mon Sep 18 19:44:08 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::write): Correct typo which
|
|
caused resetting of windows error to ERROR_IO_DEVICE to be ignored.
|
|
|
|
Mon Sep 18 17:15:37 2000 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::read_mounts): Don't delete mount entries of
|
|
which mount points have the cygdrive prefix.
|
|
* (mount_info::add_reg_mount): Properly catch errors on registry
|
|
operations.
|
|
* (mount_info::write_cygdrive_info_to_registry): Ditto.
|
|
* (mount_info::del_reg_mount): Cosmetic changes to be consistent
|
|
with other methods.
|
|
* (mount_info::add_item): Check arguments more precisely.
|
|
Increment nmounts only when registry operations succeed.
|
|
|
|
Sun Sep 17 22:18:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Return 0 if given an address in
|
|
uncommitted memory.
|
|
|
|
2000-09-16 Egor Duda <deo@logos-m.ru>
|
|
|
|
* signal.cc (sleep): If interrupted by signal, return the
|
|
requested time minus the time actually slept.
|
|
|
|
Fri Sep 15 22:30:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (handle_exceptions): Just "core dump" if SIGSEGV in
|
|
signal thread.
|
|
* external.cc (fillout_pinfo): Fix compiler warning.
|
|
* sigproc.h: Eliminate special asm naming for sig_dispatch_pending.
|
|
* sigproc.cc (sig_send): Remove debugging statements.
|
|
|
|
Wed Sep 13 14:56:47 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (av): Hide 'calloced' field and limit cstrduping to class
|
|
methods only.
|
|
(spawn_guts): Use methods for manipulating most newargv stuff.
|
|
|
|
2000-09-13 Egor Duda <deo@logos-m.ru>
|
|
|
|
* child_info.h (child_info_spawn::~child_info_spawn): Avoid
|
|
memory leaks in cygheap.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
|
|
Wed Sep 13 14:28:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (quoted): Return next character after a quoted string when
|
|
not doing special quote processing. Also ensure that non-NULL is
|
|
returned in all circumstances.
|
|
|
|
Wed Sep 13 10:26:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Ensure that argv[0] is correctly set to the
|
|
full path when a script is detected. Suggested by Kazuhiro Fujieda
|
|
<fujieda@jaist.ac.jp>.
|
|
|
|
Tue Sep 12 22:33:30 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* external.cc (fillout_pinfo): Handle explicit pids correctly.
|
|
|
|
Tue Sep 12 14:37:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Fix more slashdot madness.
|
|
|
|
Tue Sep 12 12:29:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Make clean target remove *.d.
|
|
|
|
Mon Sep 11 13:19:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Correctly deal with a "." parameter.
|
|
|
|
Sun Sep 10 20:23:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygheap.cc (init_cheap): Just use any old address for the cygwin
|
|
heap.
|
|
* exceptions.cc (signal_exit): Don't terminate the main thread. Just
|
|
try to exit in this thread really quickly.
|
|
* signal.cc (kill_pgrp): Fix typo which caused pinfo structure to be
|
|
assigned incorrectly.
|
|
|
|
Sun Sep 10 12:40:49 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Initialize thread and debug stuff before
|
|
handling exec/fork.
|
|
* dtable.cc (dtable::fixup_after_exec): Always clear out the read ahead
|
|
buffer whether closing or adjusting.
|
|
* path.cc (chdir): Avoid a compiler warning.
|
|
|
|
Sat Sep 9 23:29:17 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (chdir): Use the full path for cwd_win32. Consider attempts
|
|
to chdir to strings of dots > 2 to be an error. Pass 'dir' argument to
|
|
cygcwd.set.
|
|
(cwdstuff::set): Need to treat arguments from chdir differently.
|
|
* path.h (cwdstuff): Add an argument to set.
|
|
|
|
Fri Sep 8 11:50:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* lib/_cygwin_crt0_common.cc: Add missing header files.
|
|
|
|
Thu Sep 7 23:07:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.h (sigframe::set): Eliminate second argument. Default bp to
|
|
current frame pointer rather than using this within the function, which
|
|
is unstable when this method is not inlined.
|
|
* net.cc: Eliminate use of second argument to sigframe.set throughout.
|
|
* select.cc (cygwin_select): Ditto.
|
|
* sigproc.cc (sig_send): Ditto.
|
|
|
|
Thu Sep 7 22:45:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Break out more header info into separate files. Use appropriate
|
|
header files throughout.
|
|
* shared.h: Remove.
|
|
* cygwin_version.h: New file.
|
|
* delqueue.h: New file.
|
|
* environ.h: New file.
|
|
* host_dependent.h: New file.
|
|
* perprocess.h: New file.
|
|
* registry.h: New file.
|
|
* security.h: New file.
|
|
|
|
Thu Sep 7 12:14:43 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Split out tty and shared_info stuff into their own headers and use
|
|
throughout. Include sys/termios.h for files which need it.
|
|
* tty.h: New file.
|
|
* shared_info.h: New file.
|
|
* fhandler.h: Move inline methods that rely on tty stuff to
|
|
fhandler_console.cc.
|
|
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Set
|
|
output_done_event immediately after reading data to speed up tty output
|
|
processing.
|
|
(process_output): Set write_error to errno or zero.
|
|
(fhandler_tty_slave::write): Check previous write error prior to
|
|
writing to slave end of pipe. This allows tty output to be slightly
|
|
less synchronous.
|
|
* fhandler_console.cc (fhandler_console::tcsetpgrp): Moved here from
|
|
fhandler.h.
|
|
(fhandler_console::set_input_state): Ditto.
|
|
|
|
Wed Sep 6 21:11:13 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (signal_exit): Reset all mutos owned by the main
|
|
thread.
|
|
* fhandler.h: Define *_output_mutex macros for serializing tty output.
|
|
(fhandler_termios): Remove restart_output_event. Define dummy output
|
|
mutex methods.
|
|
(fhandler_pty_master): Remove unneeded fixup_after_fork method.
|
|
* fhandler_termios.cc (fhandler_termios::line_edit): Acquire
|
|
output_mutex when CTRL-S is hit. Release it on CTRL-Q.
|
|
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Remove
|
|
inappropriate OutputStopped test here. Just use the output mutex.
|
|
(fhandler_pty_master::fhandler_pty_master): Remove obsolete reference
|
|
to restart_output_event.
|
|
(fhandler_tty_common::close): Ditto.
|
|
(fhandler_pty_master::set_close_on_exec): Ditto.
|
|
(fhandler_pty_master::fixup_after_fork): Delete.
|
|
* tty.cc (tty::common_init): Ditto.
|
|
* sync.cc (muto::reset): New method.
|
|
* sync.h: Declare above method.
|
|
|
|
Wed Sep 6 16:56:38 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc: Add include file for proper definitions.
|
|
* spawn.cc: Ditto.
|
|
* winsup.h: Define cfree to avoid newlib pollution.
|
|
|
|
Wed Sep 6 14:11:51 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in (CFLAGS): Ensure that -MD is always added even when
|
|
CFLAGS is overwritten.
|
|
|
|
Wed Sep 6 02:40:12 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (cwdstuff::get_initial): Keep caching alive.
|
|
(mount_info::conv_to_win32_path): Fill out relative path in failing
|
|
case.
|
|
|
|
Tue Sep 5 21:36:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Deal with error return from cygcwd.get.
|
|
(normalize_win32_path): Ditto.
|
|
(mount_info::conv_to_win32_path): Ditto.
|
|
(cwdstuff::get): Set buf to NULL on error.
|
|
|
|
Tue Sep 5 17:49:34 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (readlink): 'max' should be a 'min' or we'll suffer
|
|
buffer overflow.
|
|
|
|
Mon Sep 4 22:53:58 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (cwd_win32): Eliminate.
|
|
(cwd_posix): Eliminate.
|
|
(cwd_hash): Eliminate.
|
|
(cwdstuff::init): Rename from cwd_init.
|
|
(cwdstuff::fixup_after_exec): Rename from cwd_fixup_after_exec.
|
|
(cwdstuff::get): Rename from get_cwd_inner.
|
|
(normalize_posix_path): Eliminate cwd argument. Just calculate when
|
|
necessary.
|
|
(normalize_win32_path): Ditto.
|
|
(mount_info::conv_to_win32_path): Eliminate cwd retrieval here.
|
|
(mount_info::conv_to_posix_path): Ditto.
|
|
(hash_path_name): Accomodate additional methods in cwdstuff.
|
|
(get_cwd_win32): Eliminate.
|
|
(getcwd): Use cwdstuff methods. Properly handle case where buf == NULL
|
|
and len < 0.
|
|
(cwdstuff::get_hash): New method.
|
|
(cwdstuff::get_initial): New method.
|
|
(cwdstuff::set): New method.
|
|
(cwdstuff::get): New method.
|
|
(cwdstuff::copy): New method.
|
|
* path.h: Move cwdstuff struct here. Add a bunch of stuff to cwdstuff.
|
|
Make cygcwd an extern.
|
|
* spawn.cc (spawn_guts): Use copy method to get copies of cwd info to
|
|
pass to execed process.
|
|
* dcrt0.cc (dll_crt0_1): Use cygcwd methods for cwd initialization.
|
|
|
|
2000-09-03 Egor Duda <deo@logos-m.ru>
|
|
|
|
* path.cc (readlink): Check if buffer length is positive.
|
|
Truncate output to buffer length. Don't terminate buffer
|
|
with '\0'.
|
|
|
|
Sun Sep 3 00:38:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (environ_init): Don't free the new environment table after
|
|
we've just copied stuff to it.
|
|
|
|
Sun Sep 3 00:07:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Add cygheap.o.
|
|
* child_info.h: Add specific exec class.
|
|
* cygheap.h: New file. Contains declarations for cygwin heap.
|
|
* cygheap.cc: New file. Implements cygwin heap functions.
|
|
* dcrt0.cc (quoted): Simplify due to new method for passing arguments
|
|
between cygwin programs.
|
|
(alloc_stack_hard_way): Attempt to handle overlapped stack.
|
|
(dll_crt0_1): Move child_info processing here. Accomodate new method
|
|
for passing arguments between cygwin programs. Initialize cygwin heap.
|
|
Establish __argc and __argv variables.
|
|
(_dll_crt0): Move most of child_info processing to dll_crt0_1.
|
|
(cygwin_dll_init): Remove duplication.
|
|
* dtable.cc (dtable::extend): Allocate dtable using cygwin heap.
|
|
(dtable::build_fhandler): Ditto for fhandler type being constructed.
|
|
(dtable::dup_worker): Free new fhandler from cygwin heap on error.
|
|
(dtable::select_*): Don't assume that this == fdtab.
|
|
(dtable::linearize_fd_array): Delete.
|
|
(dtable::delinearize_fd_array): Delete.
|
|
(dtable::fixup_after_exec): New file.
|
|
(dtable::vfork_child_dup): Use cygwin heap.
|
|
(dtable::vfork_parent_restore): Ditto.
|
|
* dtable.h: Remove obsolete methods. Add new method.
|
|
* environ.cc (posify): Eliminate already_posix parameter and logic.
|
|
(envsize): New function.
|
|
(_addenv): Use envsize.
|
|
(environ_init): Accept an argument pointing to an existing environment
|
|
list. If supplied, allocate space for this in the the program's heap.
|
|
* fhandler.cc (fhandler_base::operator =): Move here from fhandler.h.
|
|
Use cygwin heap to allocate filenames.
|
|
(fhandler_base::set_name): Allocate/free names from cygwin heap.
|
|
(fhandler_base::linearize): Delete.
|
|
(fhandler_base::de_linearize): Delete.
|
|
(fhandler_base::operator delete): Free from cygwin heap.
|
|
(fhandler_base::~fhandler_base): Ditto.
|
|
* fhandler.h: Accomodate elimination of *linearize and other changes
|
|
above.
|
|
* fhandler_console.cc (fhandler_console::fixup_after_exec): Rename from
|
|
de_linearize.
|
|
* heap.h: New file.
|
|
* fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Use cygwin
|
|
heap for name. fhandler_tty::fixup_after_exec): Rename from
|
|
de_linearize.
|
|
* fork.cc (fork): Call cygheap_fixup_in_child.
|
|
* heap.cc: Use declarations in heap.h.
|
|
* malloc.cc: Sprinkle assertions throughout to catch attempts to
|
|
free/realloc something from the cygwin heap.
|
|
* path.cc: Throughout, eliminate use of per-thread cache for cwd. Use
|
|
cwd_* functions rather than cwd_* variables to access cwd_win32 and
|
|
cwd_posix.
|
|
(cwd_win32): New function.
|
|
(cwd_posix): New function.
|
|
(cwd_hash): New function.
|
|
(cwd_fixup_after_exec): New function.
|
|
* path.h: Accomodate path.cc changes.
|
|
* pinfo.cc (pinfo_init): Accept a pointer to an environment table.
|
|
Pass this to environ_init. Eliminate old 'title' tests.
|
|
* pinfo.h: Accomodate above change in argument.
|
|
* spawn.cc (struct av): New method for building argv list.
|
|
(av::unshift): New method.
|
|
(spawn_guts): Allocate everything that the child process needs in the
|
|
cygwin heap and pass a pointer to this to the child. Build argv list
|
|
using new method. Eliminate delinearize stuff.
|
|
* thread.h: Eliminate _cwd_win32 and _cwd_posix buffers.
|
|
* winsup.h: Eliminate obsolete functions. Add envsize() declaration.
|
|
|
|
2000-09-02 Egor Duda <deo@logos-m.ru>
|
|
|
|
* Makefile.in: Remove "make check" support. It is now in
|
|
winsup/Makefile.in.
|
|
|
|
Fri Sep 1 21:17:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (mychild): New function.
|
|
(proc_subproc): Use mychild() to determine if a specific pid is valid
|
|
for wait()ing.
|
|
|
|
Fri Sep 1 16:57:44 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (sigproc_init): Create wait_sig_inited without auto-reset
|
|
to avoid potential races.
|
|
(init_child_info): Avoid unneeded test.
|
|
|
|
Fri Sep 1 16:51:26 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (proc_info): Rename proc_exists which takes a pid to
|
|
"pid_exists".
|
|
* shared.h: Split out "child_info" stuff into a new header file and
|
|
use where necessary.
|
|
Declare pid_exists.
|
|
* child_info.h: New file.
|
|
|
|
Thu Aug 31 16:06:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* errno.cc (set_errno_from_win_error): Actually use arguments to
|
|
strace_printf.
|
|
|
|
2000-08-30 DJ Delorie <dj@redhat.com>
|
|
|
|
* times.cc (gettimeofday): use GetSystemTimeAsFileTime to avoid a
|
|
conversion
|
|
(FACTOR): correct value
|
|
(genf): set milliseconds to zero, DOW to 4.
|
|
|
|
2000-08-29 Egor Duda <deo@logos-m.ru>
|
|
|
|
* grp.cc (getgroups): fail with EINVAL if array is not large
|
|
enough to hold all supplementary group IDs.
|
|
|
|
Mon Aug 28 22:03:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* signal.cc (_raise): New function.
|
|
* exceptions.cc (unused_sig_wrapper): Remove _raise.
|
|
* sigproc.h (class sigframe): Default frames to skip to zero or suffer
|
|
from exuberant optimization.
|
|
* fhandler_tty.cc (fhandler_tty::write): Set appropriate errno when
|
|
WriteFile to pipe fails.
|
|
|
|
Fri Aug 25 23:44:48 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.h (pinfo): Un-inline release.
|
|
* pinfo.cc (pinfo::release): Move here from pinfo.h.
|
|
* sigproc.cc (proc_terminate): Remove bogus 'pinfo child' which caused
|
|
strange destruction of random regions of memory when destructor was
|
|
invoked.
|
|
|
|
Fri Aug 25 21:25:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move set_os_type.
|
|
(_dll_crt0): To here.
|
|
(cygwin_dll_init): And here.
|
|
* external.cc (fillout_pinfo): Use more foolproof method for scanning
|
|
for pids.
|
|
* pinfo.cc (set_myself): Eliminate myself_identity.init.
|
|
* sigproc.cc (wait_sig): Do it here instead to reduce the amount of
|
|
time where there could potentially be two processes with the same pid.
|
|
* spawn.cc (spawn_guts): Eliminate duplicate initialization.
|
|
* include/sys/cygwin.h: Mark unused PID_* elements.
|
|
|
|
Fri Aug 25 21:49:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* exec.cc (_execve): Change definition according to declaration in
|
|
newlib/libc/include/sys/unistd.h.
|
|
|
|
Thu Aug 24 22:17:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* external.cc (cygwin_internal): Add CW_INIT_EXCEPTIONS to allow cygwin
|
|
exception handling on threads not created by cygwin.
|
|
* sigproc.cc (proc_terminate): Don't release pinfo structs since we are
|
|
exiting.
|
|
* include/sys/cygwin.h: Add CW_INIT_EXCEPTIONS.
|
|
|
|
Thu Aug 24 17:16:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (cygwin_select): Correct logic for "always_ready" fds or
|
|
when there is no wait specified.
|
|
* syslog.cc (pass_handler::set_message): Zero the buffer prior to
|
|
setting it.
|
|
|
|
2000-08-24 Egor Duda <deo@logos-m.ru>
|
|
|
|
* include/cygwin/core_dump.h: New file, contains structures used in
|
|
cygwin core core files.
|
|
* include/sys/procfs.h: New file, needed to autoconfigure cygwin core
|
|
dumps support in bfd.
|
|
|
|
Thu Aug 24 13:50:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (parse_thing): nobinmode should force O_TEXT.
|
|
(regopt): Use correct path to find LOCAL_MACHINE registry options.
|
|
* fhandler.cc (fhandler_base::open): Set binary mode only when binmode
|
|
== O_BINARY.
|
|
* pipe.cc (pipe): Pipe handling should rely on binmode not _fmode now
|
|
that the two are different.
|
|
|
|
Thu Aug 24 13:21:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/sys/cygwin.h (strace_printf_wrap): Force printing when
|
|
_STRACE_SYSTEM.
|
|
(strace_printf_wrap1): Ditto.
|
|
|
|
Thu Aug 24 12:30:17 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* debug.h: Allow some debug defines for use in header files.
|
|
|
|
Wed Aug 23 23:00:24 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move exception list and constructor stuff
|
|
earlier in the process. Use new second argument to set_myself.
|
|
(cygwin_dll_init): Initialize exception list and constructor stuff
|
|
here.
|
|
(_dll_crt0): And here. Also, deal with inherited pinfo shared memory
|
|
region from parent.
|
|
* pinfo.cc (set_myself): Accept a second argument signifying the a
|
|
shared memory region, passed from an execing parent.
|
|
(pinfo_init): Ditto.
|
|
* pinfo.h: Ditto.
|
|
* shared.h (child_info): Add a handle field to pass to child.
|
|
* spawn.cc (spawn_guts): Create a shared handle to pass to an execed
|
|
child.
|
|
* winsup.h: Remove extraneous declaration.
|
|
|
|
Wed Aug 23 10:51:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/sys/cygwin.h: Protect class definitions.
|
|
|
|
Tue Aug 22 13:57:36 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (symlink_info::check): Clear error on each iteration of
|
|
extension check.
|
|
|
|
Tue Aug 22 11:23:59 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Don't include '.d' file if there are none generated yet.
|
|
|
|
Tue Aug 22 11:08:11 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/sys/cygwin.h: Declare some thread classes.
|
|
* include/mntent.h: Avoid declaring functions.
|
|
|
|
Tue Aug 22 01:08:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* winsup.h: Eliminate inclusion of most of the cygwin .h files. Use .h
|
|
files only in sources which require them.
|
|
* Makefile.in: Generate dependencies with -MD option.
|
|
|
|
Mon Aug 21 23:49:05 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygerrno.h: New file. Use this throughout whenever errno
|
|
manipulation is required.
|
|
* errno.cc: Use DWORD to hold Windows errors.
|
|
(geterrno_from_win_error): New function.
|
|
(seterrno_from_win_error): Use geterrno_from_win_error to convert
|
|
supplied windows error (suggested by Corinna Vinschen).
|
|
* path.cc (symlink_info): Add error element.
|
|
* path.cc (path_conv::check): Remove errno setting. Use new
|
|
symlink_info errno element to set path_conv error, where appropriate.
|
|
(symlink_info::check): Set error element rather than attempting to
|
|
manipulate errno. Add more checks for trailing / and /.. even though
|
|
they are currently useless. Avoid setting EINVAL.
|
|
|
|
Mon Aug 21 23:49:05 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (normalize_posix_path): Correct check for trailing /.
|
|
|
|
2000-08-21 DJ Delorie <dj@redhat.com>
|
|
|
|
* include/cygwin/cygwin_dll.h (DECLARE_CYGWIN_DLL): hinstance,
|
|
not handle.
|
|
|
|
Fri Aug 18 11:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::dup2): Extend fdtab if newfd is out of current
|
|
allocated bounds.
|
|
|
|
Sat Aug 12 01:47:28 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mkvers.sh: Properly trap exit removal of temp file. Remove debugging
|
|
statement.
|
|
|
|
Sat Aug 12 01:37:56 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* poll.cc: Make winsup.h the first include file, re 2000-08-02 change.
|
|
|
|
Sat Aug 12 01:33:12 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* winsup.h: Split out dtable definitions into separate header file.
|
|
* dtable.h: New file.
|
|
* sigproc.h: Eliminate pinfo.h usage here. Use it in source files that
|
|
need it.
|
|
|
|
Sat Aug 12 01:08:11 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Use dtable.o rather than hinfo.o.
|
|
|
|
Sat Aug 12 00:47:11 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Rename hinfo -> dtable. Name the former dtable array 'fdtab'.
|
|
|
|
Fri Aug 11 14:47:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* poll.cc: Allow any descriptor and any number of descriptors.
|
|
Allocate fd_set struct sdynamically.
|
|
|
|
Fri Aug 11 14:47:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* poll.cc: Add bounds checking for file descriptors. Return POLLNVAL
|
|
if fd is invalid. Return POLLERR for each valid fd if cygwin_select
|
|
returned with error.
|
|
include/sys/poll.h: Change POLLERR comment according to above change.
|
|
|
|
Thu Aug 10 21:54:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* syslog.cc (syslog): Use a less malloc-intensive method for allocating
|
|
the buffer. Also fix a buffer overrun.
|
|
|
|
Thu Aug 10 15:31:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* winsup.h: Change strchr inline for strange gcc problem.
|
|
* select.cc (select_stuff::wait): Bounds check w4 array.
|
|
|
|
Thu Aug 10 15:17:53 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dir.cc (readdir): Ensure that errno is *only* set when we've run out
|
|
of filenames.
|
|
* fhandler.cc (fhandler_disk_file::fstat): Use modern method for saving
|
|
errno, making it effective for the whole function.
|
|
|
|
Tue Aug 8 22:25:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (allocfd_set): Zero allocated fd_set.
|
|
(cygwin_select): Move fd_set copying logic from ::wait to here. Use
|
|
common return through sell.poll.
|
|
(select_stuff::wait): Just return success or failure and let caller
|
|
fill in fd_set.
|
|
* pinfo.h (pinfo): Eliminate self-referential pointer to sidbuf since
|
|
pinfo structure exists at random locations now.
|
|
* fork.cc (fork): Use 'use_psid' element to control when the psid is
|
|
relevant.
|
|
* shared.cc (sec_user): Ditto.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
* uinfo.cc (internal_getlogin): Ditto.
|
|
* syscall.cc (seteuid): Ditto. Set use_psid element.
|
|
|
|
Tue Aug 8 13:20:00 2000 Bob Wilson <bwilson@tensilica.com>
|
|
|
|
* fhandler_serial.cc (tcsendbreak): "sleeptime" argument to usleep()
|
|
must be in units of microseconds, not milliseconds.
|
|
|
|
Mon Aug 7 00:11:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/cygwin_dll.h: Remove extraneous (and incorrect)
|
|
declarations.
|
|
|
|
Fri Aug 4 00:00:46 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* hinfo.cc (hinfo::find_unused_handle): Just check for table entry ==
|
|
NULL since we are already bounds checked by default.
|
|
* thread.cc (ResourceLocks::Lock): Streamline this function since it is
|
|
called a lot.
|
|
(ReleaseResourceLock): Ditto.
|
|
|
|
Thu Aug 3 20:44:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (fhandler_console::select_read): Call set_cursor_maybe
|
|
since select may block and cursor may not be visible.
|
|
* select.cc (fhandler_console::select_write): Ditto.
|
|
* select.cc (fhandler_console::select_except): Ditto.
|
|
|
|
Thu Aug 3 09:01:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Set
|
|
length field correctly when "need_nl".
|
|
|
|
Wed Aug 2 22:58:07 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fork.cc (vfork): Store complete stack frame in vfork_save structure
|
|
for later recovery.
|
|
* spawn.cc (spawn_guts): Reorganize slightly to consolidate handling
|
|
when there is a CreateProcess error.
|
|
(_spawnve): Only longjmp back to vfork handling when a process has been
|
|
successfuly started.
|
|
* winsup.h (vfork_save): Extend to include frame info. Remove obsolete
|
|
cpplus conditionals.
|
|
|
|
Wed Aug 2 15:14:51 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* strace.cc (strace::prntf): Make second argument the function name,
|
|
rather than use special format options.
|
|
(strace::vprntf): Ditto.
|
|
(getfunc): New function.
|
|
* include/sys/strace.h: Reflect above changes.
|
|
* smallprint.c (__small_vsprintf): Eliminate '%F' formatting.
|
|
* pinfo.cc (set_myself): Modify for new strace::prntf parameter.
|
|
* errno.cc (seterrno_from_win_error): Ditto.
|
|
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Ditto.
|
|
* fhandler_tty.cc (fhandler_tty_common::__release_output_mutex): Ditto.
|
|
|
|
Wed Aug 2 13:20:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* regexp/regexp.c: Add winsup.h.
|
|
|
|
2000-08-02 DJ Delorie <dj@redhat.com>
|
|
|
|
* winsup.h: take out protections of environ, errno, allow C use
|
|
* *.cc: put winsup.h before other headers (for __INSIDE_CYGWIN__);
|
|
use cur_environ() instead of just environ
|
|
* times.cc: remove import protections
|
|
* glob.c: add winsup.h
|
|
* localtime.c: ditto
|
|
* smallprint.c: ditto
|
|
* Makefile.in: don't __INSIDE_CYGWIN__ as it messes up profiling.
|
|
|
|
Wed Aug 2 11:22:53 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/sys/strace.h: Fix strace definition.
|
|
|
|
Tue Aug 1 23:37:08 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* strace.h: Add kludgy workarounds to avoid using deprecated methods
|
|
for variable argument macros when possible.
|
|
* sigproc.cc: Throughout, use sigproc_printf rather than sip_printf.
|
|
* strace.cc (strace::prntf): Remove 'active' check, since callers are
|
|
supposed to ensure this.
|
|
(__system_printf): Remove. Subsumed by strace::prntf.
|
|
* winsup.h: Define "NEW_MACRO_VARARGS" to indicate when to use new
|
|
macro varargs capability.
|
|
|
|
Sun Jul 30 13:54:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_console.cc: Remove VK_DIVIDE detection.
|
|
(get_nonascii_key): Simplify previous patch to return ascii char if it
|
|
is non-zero. Add a second "temporary buffer" argument to help with
|
|
thread safety.
|
|
* select.cc (peek_console): Pass a temporary buffer argument to
|
|
get_nonascii_key.
|
|
|
|
Sat Jul 29 14:32:12 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_console.cc: Add VK_DIVIDE detection. Return virtual keycode
|
|
if it is not detected and it is less than ' '.
|
|
|
|
Sat Jul 29 13:33:49 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (chdir): Avoid trailing dot calculation when chdir == '/'
|
|
or we end up with an empty string.
|
|
|
|
Sat Jul 29 12:11:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 5 due
|
|
to all of the changes below.
|
|
|
|
Sat Jul 29 12:01:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Redefine process structure to avoid a fixed size table. Redefine
|
|
pinfo/_pinfo classes. Use these throughout.
|
|
* dcrt0.cc (dll_crt0_1): Accomodate set_myself argument change.
|
|
(__api_fatal): Accomodate _pinfo::record_death argument change.
|
|
* exceptions.cc (really_exit): Ditto.
|
|
(sig_handle_tty_stop): Use pinfo constructor to access process info.
|
|
(events_init): Don't create pinfo_mutex since it is no longer required.
|
|
* external.cc (fillout_pinfo): Use winpids class to iterate over all
|
|
system pids.
|
|
(cygwin_internal): lock_pinfo_for_update and unlock_pinfo are now
|
|
noops.
|
|
* fhandler_termios.cc (fhandler_termios::set_ctty): Use pinfo
|
|
constructor to access process info.
|
|
* fork.cc (fork): Reorganize to initialize child info after the child
|
|
has started since that is when we know the child's winpid, which is
|
|
necessary to allocate the pinfo shared memory.
|
|
* mmap.cc (recreate_mmaps_after_fork): Change arg type to _pinfo.
|
|
* pinfo.cc: Rename pinfo methods to _pinfo throughout. Eliminate
|
|
pinfo_list stuff.
|
|
(set_myself): Accept a pid argument now. Call pinfo initializer to
|
|
initialize myself. Detect when this is an "execed" process and create
|
|
an "indirect" pid block.
|
|
(pinfo_init): Accomodate set_myself arg change.
|
|
(procinfo): Remove.
|
|
(pinfo::lock_pinfo): Remove.
|
|
(pinfo::unlock_pinfo): Remove.
|
|
(pinfo::init): New method. Allocates shared memory space for process
|
|
pinfo structure.
|
|
(pinfo::record_death): Don't call locking functions.
|
|
(cygwin_winpid_to_pid): Simplify by using new pinfo constructor.
|
|
(EnumProcessesW95): New function for iterating over processes on
|
|
Windows 95.
|
|
(winpids::winpids): New constructor for winpids class. Sets up a list
|
|
of process ids.
|
|
(enum_init): Initialize w95/wnt pid enumerators.
|
|
* shared.cc (shared-info::initialize): Remove pid initialization.
|
|
* shared.h: Move pinfo stuff into pinfo.h.
|
|
(class shared_info): Remove pinfo_list element.
|
|
* signal.cc (kill_worker): Use pinfo constructor to access process
|
|
info.
|
|
(kill_pgrp): Ditto. Use winpids methods to access list of processes.
|
|
* sigproc.cc: Throughout, modify to use _pinfo where appropriate.
|
|
(proc_exists (pid_t)): New function. Determines if a process exists
|
|
based on the pid.
|
|
(proc_exists (_pinfo *p): Use new proc_exists function above.
|
|
(proc_subproc): Copy pinfo stuff around rather than _pinfo pointers.
|
|
Try to be careful about releasing shared memory when we don't need it
|
|
anymore. Remove pinfo locks.
|
|
(remove_zombies): Remove pinfo memory when zombie is going away.
|
|
* sigproc.h: Reflect _pinfo/pinfo changes in sigproc.cc.
|
|
* spawn.cc (spawn_guts): Eliminate pinfo *child argument. Reorganize
|
|
to only initialize child pinfo after process has been started and we
|
|
know the windows pid.
|
|
(_spawnve): Reflect spawn_guts changes.
|
|
* syscalls.cc (setpgid): Use pinfo constructor to access process info.
|
|
(getpgid): Ditto.
|
|
(internal_getlogin): Use _pinfo.
|
|
* winsup.h: Eliminate pinfo_mutex. Eliminate spawn_guts declaration
|
|
since it is static now. Reflect set_myself argument change.
|
|
* include/sys/cygwin.h: Add some PID_* enums to accomodate new pinfo
|
|
stuff.
|
|
|
|
Sat Jul 29 12:13:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Update minor version for cygdrive changes
|
|
below.
|
|
|
|
Sat Jul 29 11:59:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (parse_thing): Make binmode a DWORD.
|
|
* hinfo.cc (hinfo::init_std_file_from_handle): Use 'binmode' to
|
|
determine default open mode.
|
|
* winsup.h: Declare binmode.
|
|
|
|
Sat Jul 29 00:16:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/cygwin_dll.h: Update for modern compilers.
|
|
* lib/cygwin_crt0.c: Inexplicably need to define alloca for newer
|
|
compilers.
|
|
* fhandler.h (fhandler_console): Add new method.
|
|
* fhandler.cc (fhandler_console::set_cursor_maybe): New method.
|
|
(fhandler_console::read): Set cursor if it has moved to make it
|
|
visible.
|
|
|
|
Thu Jul 27 22:54:28 2000 Jason Tishler <jt@dothill.com>
|
|
|
|
* dcrt0.cc (dummy_autoload): Add load statement for RegDeleteValueA.
|
|
* external.cc (get_cygdrive_prefixes): New function.
|
|
(cygwin_internal): Add CW_GET_CYGDRIVE_PREFIXES case.
|
|
* path.cc (mount_info::read_cygdrive_info_from_registry): Read system
|
|
cygdrive prefix if user one is undefined.
|
|
(mount_info::write_cygdrive_info_to_registry): Write cygdrive prefix to
|
|
the appropriate registry hive. Overwrite in-memory copy of cygdrive,
|
|
if appropriate.
|
|
(mount_info::remove_cygdrive_info_from_registry): New method.
|
|
(mount_info::get_cygdrive_prefixes): New method.
|
|
(cygwin_umount): Remove cygdrive prefix, if appropriate.
|
|
* registry.cc (reg_key::killvalue): New method.
|
|
* shared.h (class reg_key): Add killvalue,
|
|
remove_cygdrive_info_to_registry, and get_cygdrive_prefixes
|
|
declarations.
|
|
* include/sys/cygwin.h (cygwin_getinfo_types): Add
|
|
CW_GET_CYGDRIVE_PREFIXES.
|
|
|
|
Thu Jul 27 23:33:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 4.
|
|
|
|
2000-07-27 DJ Delorie <dj@redhat.com>
|
|
|
|
* testsuite/winsup.api/winsup.exp: ignore stdout by default
|
|
* testsuite/winsup.api/crlf.c: non-verbose by default
|
|
|
|
* winsup.h: prune out windows headers we don't normally need
|
|
* assert.cc: add wingdi.h and winuser.h
|
|
* fhandler_console.cc: ditto
|
|
* fhandler_windows.cc: ditto
|
|
* select.cc: ditto
|
|
* spawn.cc: ditto
|
|
* strace.cc: ditto
|
|
* tty.cc: ditto
|
|
* window.cc: ditto
|
|
* hinfo.cc: add winsock.h
|
|
* syscalls.cc: add winnls.h
|
|
* uinfo.cc: ditto
|
|
|
|
Thu Jul 27 10:24:36 2000 Egor Duda <deo@logos-m.ru>
|
|
|
|
* fhandler.cc (fhandler_disk_file::fstat): Allow block calculation to
|
|
succeed for files >= 2GB and <= 4GB.
|
|
|
|
Wed Jul 26 16:05:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (signal_exit): Renamed from "really_exit". Always sets
|
|
EXIT_SIGNAL bit and reorganizes exit value for backwards cygwin
|
|
handling.
|
|
(handle_exceptions): Call signal_exit. Set "core dumped" bit.
|
|
(sig_handle): Call signal_exit. Set "core dumped" bit appropriately.
|
|
|
|
Wed Jul 26 20:44:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (posify): Revert previous patch.
|
|
(_addenv): Remove check_null_empty_path from here.
|
|
(putenv): Call check_nullempty_path.
|
|
(setenv): Call check_nullempty_path for name as well here.
|
|
Don't report an error if value is empty string.
|
|
(environ_init): Revert usage of newp.
|
|
|
|
Wed Jul 26 14:32:38 2000 Egor Duda <deo@logos-m.ru>
|
|
|
|
* syscalls.cc (stat_worker): Make stat return correct st_blocks for
|
|
files with size bigger than 2Gb and less than 4Gb
|
|
|
|
Wed Jul 26 17:43:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (lookup_name): Search on local machine first if
|
|
myself->domain is not empty.
|
|
|
|
2000-07-26 DJ Delorie <dj@cygnus.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Explicitly set cursor
|
|
to make it visible while waiting in WaitForMultipleObjects.
|
|
|
|
Wed Jul 26 10:59:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* passwd.cc: Change name of passwd_in_memory_p to passwd_state.
|
|
Change type to enum. Change storage class to static. Adjust comments.
|
|
(read_etc_passwd): Set passwd_state to different values when loaded
|
|
from file in contrast to being emulated.
|
|
(search_for): Return default passwd entry if passwd is emulated or
|
|
it's a request for the current user. Otherwise return NULL.
|
|
|
|
Tue Jul 25 21:50:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* syscalls.cc (statfs): Use path_conv method to convert input path.
|
|
|
|
Tue Jul 25 21:40:51 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* syscalls.cc (_link): Avoid extraneous call to
|
|
cygwin_conv_to_win32_path.
|
|
|
|
Tue Jul 25 21:11:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (_addenv): New function. Subsumes functionality of
|
|
putenv/setenv. Does not allocate space for putenv case.
|
|
(putenv): Use _addenv to add a value to the environment.
|
|
(setenv): Ditto.
|
|
(environ_init): Don't malloc space for each entry in the environment
|
|
table. Just use the space from GetEnvironmentStrings.
|
|
(posify): Don't free the src argument since it is no longer malloced.
|
|
|
|
Mon Jul 24 21:10:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (_link): Corrected previous patch.
|
|
|
|
Mon Jul 24 13:26:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_dev_random): Add members for managing
|
|
pseudo randomness.
|
|
* fhandler_random.cc: Rearrange. Use pseudo random number generator
|
|
as entropy source if system entropy isn't available and if device is
|
|
used as /dev/urandom. Allow initializing device by calling write().
|
|
|
|
Sun Jul 23 23:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h: Add comment.
|
|
|
|
Sun Jul 23 20:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_dev_raw): Add private member `varblkop'
|
|
to be set when variable blocksize mode is on.
|
|
* fhandler_raw.cc: Eliminate `\n' from trace output.
|
|
(clear): Set `varblkop' to 0.
|
|
(dup): Copy varblkop as well.
|
|
(writebuf): Care for variable blocksize.
|
|
(open): Ditto.
|
|
(raw_read): Ditto.
|
|
(raw_write): Ditto.
|
|
* fhandler_tape.cc (open): Ditto.
|
|
(ioctl): Ditto. Some cleanups.
|
|
|
|
Sat Jul 22 18:40:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by Kazuhiro Fujieda <fujieda@jaist.ac.jp>.
|
|
* winsup.h: Add new macros sys_wcstombs and sys_mbstowcs.
|
|
* syscalls.cc (_link): Replace calls to mbstowcs by call to
|
|
sys_mbstowcs.
|
|
* uinfo.cc (internal_getlogin): Replace calls to wcstombs and
|
|
mbstowcs by calls to sys_wcstombs and sys_mbstowcs. Replace
|
|
usage of constants by meaningful defines. Use result of
|
|
GetSystemDirectory for HOMEPATH and HOMEDRIVE as a last resort.
|
|
|
|
Fri Jul 21 21:33:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (span_guts): Retrieve security attributes before setting
|
|
psid to NULL.
|
|
|
|
Fri Jul 21 12:03:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (acl_worker): Use stat_suffixes in call to path_conv
|
|
just as in `stat_worker'.
|
|
|
|
Wed Jul 19 22:24:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (spawn_guts): Don't restore impersonation in case
|
|
of _P_OVERLAY. Clean up slightly. Accomodate comments.
|
|
|
|
Wed Jul 19 22:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* shared.h (class pinfo): New members `root' and `rootlen'.
|
|
* syscalls.cc (chroot): Set new root for process.
|
|
* path.cc (getcwd_inner): Add parameter to force use of
|
|
new root from chroot() call.
|
|
(ischrootpath): New macro.
|
|
(normalize_posix_path): Care for changed root dir.
|
|
(normalize_win32_path): Ditto.
|
|
(getcwd_inner): Ditto.
|
|
(chdir): Eliminate trailing path component consisting
|
|
entirely of dots.
|
|
* fork.cc (fork): Copy pinfo members regarding chroot().
|
|
* spawn.cc (_spawnve): Ditto.
|
|
* dir.cc (opendir): Don't use computed win32 path if
|
|
chroot() took place.
|
|
|
|
Mon Jul 17 22:21:34 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dll_init.cc (dll_list::alloc): Fix debugging output.
|
|
|
|
Mon Jul 17 14:57:53 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Throughout, eliminate third argument to path_conv and use new PC_*
|
|
constants for second argument.
|
|
* dcrt0.cc (dll_crt0_1): Reorganize to allow more initialization prior
|
|
to returning due to dynamic loading.
|
|
* path.h: Generalize SYMLINK_* constants to PC_*.
|
|
(path_conv): Create a new method. Fold third argument into second.
|
|
* dll_init.cc (dll_list::alloc): Try harder to find space to allocate
|
|
dll struct.
|
|
(dll_dllcrt0): Don't check sanity if we've already called dll_crt0.
|
|
* path.cc (path_conv::check): Don't check for a null or empty path
|
|
unless specifically told with a flag setting.
|
|
(check_null_empty_path): New function, adapted from macro.
|
|
* syscalls.cc (_rename): Use already-determined file attributes rather
|
|
than checking again.
|
|
* lib/cygwin/cygwin_attach.dll.c (cygwin_attach_dll): Use a static
|
|
per_process structure since this is apparently supposed to be zeroed.
|
|
* lib/cygwin_crt0.c (cygwin_crt0): Zero per_process structure sent to
|
|
older DLLs.
|
|
|
|
Mon Jul 17 19:39:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by Eric Fifer <EFifer@sanwaint.com>
|
|
* poll.cc (poll): Fix erroneous negations.
|
|
|
|
Mon Jul 17 17:56:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (setenv): Use __cygwin_environ instead of
|
|
environ after reallocating environment space.
|
|
|
|
Sun Jul 16 20:23:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* _cygwin_crt0_common.cc: Undef 'environ' or suffer compiler error.
|
|
|
|
Sun Jul 16 16:03:00 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc: Use new definition of "environ" throughout.
|
|
(environ_init): Explicitly initialize __cygwin_environ.
|
|
(cur_environ): New function. Detects when user has updated
|
|
their environment.
|
|
* exec.cc: Use 'environ' define throughout rather than __cygwin_environ.
|
|
* spawn.cc: Ditto.
|
|
* winsup.h: Declare cur_environ, main_environ, environ.
|
|
|
|
Sun Jul 16 13:23:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* acconfig.h: Add support for NEWVFORK.
|
|
* config.h.in: Ditto.
|
|
* configure.in: Add --enable-vfork option.
|
|
* configure: Regenerate.
|
|
* dcrt0.cc (quoted): Detect and fix up quoted backslashes.
|
|
* sigproc.cc (proc_subproc): Correctly name handle of newly added child
|
|
process to avoid erroneous debugging messages about closing the wrong
|
|
handle.
|
|
|
|
Sun Jul 16 02:30:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Use \ for quoting '"'.
|
|
* dcrt0.cc (quoted): Understand \ quoting for '"'.
|
|
|
|
Sun Jul 16 00:32:58 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (build_argv): Strip quotes from argv[0] since it should
|
|
never be globified.
|
|
|
|
Sat Jul 15 00:32:41 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dll_init.cc (dll_list::alloc): Round correctly. Use VirtualAlloc
|
|
since shared file mapping is unnecessary.
|
|
(dll_list::detach): Release memory via VirtualFree since there we no
|
|
longer use shared file mapping.
|
|
|
|
Fri Jul 14 22:40:22 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* hinfo.cc (hinfo::linearize_fd_array): Make max_used_fd an int so that
|
|
we can detect when there are no fds to pass.
|
|
* dcrt0.cc (host_dependent_constants::init): Revert Sat Mar 18 01:32:04
|
|
2000 change.
|
|
(dll_crt0_1): Set "cygwin_finished_initializing" flag.
|
|
(dll_crt0): Don't perform memcpy if uptr is already set to internal
|
|
structure.
|
|
(_dll_crt0): Remember location of programs envptr.
|
|
* dll_init.h (per_module, dll, dll_list): Revamp.
|
|
* dll_init.cc: Revamp. Use new classes.
|
|
* fork.cc (fork): Use new revamped dll, dll_list, and per_module stuff.
|
|
* environ.cc: Use __cygwin_environ throughout rather than the
|
|
user_data->envptr.
|
|
* exec.cc: Ditto.
|
|
* spawn.cc: Ditto.
|
|
* winsup.h: Declare update_envptrs, cygwin_finished_initializing.
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Revert previous
|
|
change.
|
|
* lib/cygwin_attach_dll.cc (cygwin_attach_dll): Always pass in own
|
|
per_process structure or we end up overwriting information from the
|
|
main program.
|
|
|
|
Wed Jul 12 00:46:00 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* debug.cc (thread_stub): Use impure_ptr in place of reent_data.
|
|
* dll_init.cc (dll_dllcrt0): Replace erroneous use of local symbol with
|
|
correct __cygwin_user_data->impure_ptr.
|
|
|
|
Wed Jul 12 00:01:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Don't reset
|
|
environ if already set.
|
|
|
|
Mon Jul 10 19:07:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Unicode interface
|
|
to ReadConsoleInput only exists on W2K, so use workaround from
|
|
Kazuhiro Fujieda <fujieda@jaist.ac.jp>.
|
|
|
|
Mon Jul 10 11:30:00 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in (install): Install textmode.o as well as binmode.o.
|
|
* fhandler_console.cc (fhandler_console::read): Use UNICODE when
|
|
reading from the console and translate to ASCII from that.
|
|
|
|
Sun Jul 9 21:52:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (spawn_guts): Close handle `hToken' only if it's not
|
|
copied from myself->token.
|
|
* syscalls.cc (seteuid): Replace CopySid by memcpy which is foolproof
|
|
here.
|
|
|
|
Sun Jul 9 01:19:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* cygwin.din: Export _getmode and getmode to allow querying of binary
|
|
state of an fd.
|
|
* external.cc (cygwin_internal): Add handling of perfile_table setting.
|
|
* fhandler.cc (perfile_table): New global.
|
|
(fhandler_base::get_default_fmode): New method to return a file's
|
|
default mode based on its name.
|
|
(fhandler_base::open): Use get_default_mode method to determine a
|
|
file's mode. Record file mode in file flags.
|
|
* fhandler.h (fhandler_base): Declare get_default_fmode
|
|
* syscalls.cc (getmode): New function.
|
|
* sys/cygwin.h (__cygwin_perfile): New structure.
|
|
(cygwin_getinfo_types): Move outside of WINVER conditional.
|
|
(per_process): Move inside of WINVER conditional.
|
|
|
|
Sat Jul 8 00:15:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* external.cc (cygwin_internal): Export __cygwin_user_data.
|
|
* include/sys/cygwin.h: Allow definition of per_process even when not
|
|
compiling with C++.
|
|
(cygwin_getinfo_types): Add CW_USER_DATA.
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Get
|
|
__cygwin_user_data pointer from cygwin_internal. If it doesn't exist,
|
|
return failure. Use either this pointer or passed in pointer
|
|
throughout. Clear forkee.
|
|
* lib/crt0.h: Accomodate argument changes to _cygwin_crt0_common.
|
|
* lib/cygwin_attach_dll.c (cygwin_attach_dll): Reorganize to allow use
|
|
of newer binaries with older DLLs. Detect older DLLs when
|
|
_cygwin_crt0_common returns 0 and allocate space for a per_process
|
|
structure on the stack.
|
|
* lib/cygwin_crt0.c (cygwin_crt0): Ditto.
|
|
|
|
Fri Jul 7 10:31:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/sys/cygwin.h: Hide internal data types in per_process
|
|
when not __INSIDE_CYGWIN__.
|
|
|
|
Wed Jul 5 18:56:58 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (__cygwin_user_data): Initialize.
|
|
(dll_crt0_1): Eliminate user_data initialization.
|
|
(dll_crt0): Set up impure_ptr_ptr for older executables.
|
|
(cygwin_dll_init): Eliminate user_data initializations.
|
|
(__api_fatal): Don't check for user_data initialization.
|
|
* dll_init.cc (struct dll): Store entire contents of per_process rather
|
|
than just a pointer.
|
|
(add): Ditto.
|
|
(initOneDll): Don't check for user_data initialization.
|
|
(DllList::recordDll): Store contents of per_process argument.
|
|
(DllList::detachDll): Pass address of per_process field.
|
|
(DllList::initAll): Ditto.
|
|
(DllList::doGlobalDestructorsOfDlls): Ditto.
|
|
(DllListIterator::operator *): Ditto.
|
|
(dll_dllcrt0): Default to __cygwin_user_data if arg is NULL.
|
|
* include/sys/cygwin.h: Reorganize per_process to eliminate obsolete
|
|
fields and accomodate new way of initializing.
|
|
* lib/_cygwin_crt0_common: Initialize _impure_ptr from
|
|
__cygwin_user_data.impure_ptr.
|
|
|
|
2000-07-04 Vadim Egorov <egorovv@mailandnews.com>
|
|
|
|
* exceptions.cc (try_to_debug): Prevent recursive spawning of JIT
|
|
debugger. Treat special event from debugger as command to continue.
|
|
|
|
Mon Jul 4 19:29:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* poll.cc (poll): Zero out `open_fds' as well.
|
|
|
|
Mon Jul 4 1:22:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/version.h: Bump API minor version to 24.
|
|
|
|
2000-07-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* security.cc (read_sd): Eliminate OemToChar.
|
|
|
|
Mon Jul 4 18:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* poll.cc: New file. Implement `poll' system call.
|
|
* include/poll.h: Ditto.
|
|
* include/sys/poll.h: Ditto.
|
|
* Makefile.in: Add poll.o as dependency.
|
|
* cygwin.din: Add poll and _poll symbols.
|
|
|
|
2000-07-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Eliminate SetFileApisToOEM and CharToOem.
|
|
* (dummy_autoload): Add functions used in fhandler_console.
|
|
* fhandler_console.cc (fhandler_console::read): Use ENCHANCED_KEY flag
|
|
to distinguish extended keys. Translate an input character from the
|
|
OEM code page to the ANSI code page.
|
|
* (fhandler_console::write_normal): Translate output characters from
|
|
the ANSI code page to the OEM code page.
|
|
* syscalls.cc (_link): Use MultiByteToWideChar instead of OemToCharW.
|
|
|
|
Mon Jul 3 16:09:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (stack_info::walk): Use method to find offset.
|
|
(handle_exceptions): Be more assertive in finding ebp for use under
|
|
W2K. Create a dummy stack frame for cases where program is dying and a
|
|
stack dump is being output.
|
|
(sig_handle): Fill out a GetThreadContext for use with a user-generated
|
|
"core dump".
|
|
|
|
Mon Jul 3 10:53:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/socket.h: Remove SOCK_PACKET define since it's
|
|
not supported by Windows sockets.
|
|
|
|
Sun Jul 2 21:50:48 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (user32_init): Add primitive guard against concurrent
|
|
attempts to call this function. Also add temporary debugging code to
|
|
display a message if the function is called multiple times.
|
|
(api32_init): Ditto.
|
|
|
|
Sun Jul 2 10:39:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* winsup.h: Define MAX_SID_LEN and new MAX_HOST_NAME.
|
|
* fork.cc (fork): Use above defines instead of numerical constants.
|
|
* shared.cc (sec_user): Ditto.
|
|
* shared.h (class pinfo): Ditto.
|
|
* syscall.cc (seteuid): Ditto.
|
|
* spawn.cc (_spawnve): Ditto. Eliminate conditional.
|
|
(spawn_guts): Set child->uid = USHRT_MAX when user context will be
|
|
changed in child process.
|
|
* uinfo.cc (uinfo_init): Check for myself->uid instead of myself->psid
|
|
to avoid reloading of /etc/passwd on process startup if ntsec is off.
|
|
Use above defines instead of numerical constants.
|
|
* security.cc: Move define for MAX_SID_LEN to winsup.h.
|
|
|
|
Sun Jul 2 1:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (uinfo_init): Eliminate calls to read_etc_group()
|
|
and read_etc_passwd().
|
|
|
|
2000-06-28 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* assert.cc (__assert): Reduce dependency on newlib.
|
|
* exec.cc: Eliminate unnecessary inclusion of ctype.h.
|
|
* glob.c: Ditto.
|
|
* hinfo.cc: Ditto.
|
|
* init.cc: Ditto.
|
|
* strace.cc: Ditto.
|
|
* tty.cc: Ditto.
|
|
* grp.cc (parse_grp): Eliminate atoi.
|
|
* passwd.cc (grab_int): Ditto.
|
|
* grp.cc (getgroups): Eliminate str{n,}casecmp.
|
|
* path.cc (get_raw_device_number): Ditto.
|
|
* path.cc (sort_by_native_name): Ditto.
|
|
* spawn.cc (iscmd): Ditto.
|
|
* uinfo.cc (internal_getlogin): Ditto.
|
|
|
|
Sat Jul 1 11:43:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* binmode.c (cygwin_premain0): Fix erroneous clearing of bit.
|
|
* textmode.c (cygwin_premain0): Ditto.
|
|
|
|
Sat Jul 1 00:24:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (_dll_crt0): Renamed from dll_crt0 ().
|
|
* winsup.h: Accomodate above change.
|
|
* cygwin.din: Ditto.
|
|
* lib/cygwin_crt0.c: Ditto.
|
|
|
|
Fri Jun 30 23:21:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Use variables rather than configure constructs where
|
|
appropriate.
|
|
(LIBCOS): Find additional stub library stuff in their own subdirectory.
|
|
* dcrt0.cc: Convert user_data pointer to static __cygwin_user_data
|
|
area.
|
|
(do_global_ctors): Check magic_bisquit for initialization.
|
|
(dll_crt0_1): First group of premain functions prior to fd
|
|
initialization. Run second group before calling main.
|
|
(dll_crt0 ()): New function, called from new initialization code.
|
|
(dll_crt0 (per_process *uptr)): Call new dll_crt0 () function on
|
|
initialization.
|
|
* debug.cc (thread_stub): Initialize bottom of stack with per-thread
|
|
info.
|
|
* environ.cc (parse_thing): Use binmode global to control
|
|
CYGWIN=binmode behavior.
|
|
* fhandler.cc (fhandler_base::open): Allow explicit setting of __fmode
|
|
to O_BINARY or O_TEXT to override disk mount settings.
|
|
* libcmain.cc: Move to lib subdirectory.
|
|
* libccrt0.cc: Ditto.
|
|
* dll_main.cc: Ditto.
|
|
* dll_entry.cc: Ditto.
|
|
* getopt.c: Ditto.
|
|
* thread.cc (thread_init_wrapper): Call ExitThread explicitly rather
|
|
than returning, as a preliminary step towards placing per thread info
|
|
at the bottom of the stack.
|
|
* winsup.h: Move per_process class to include/sys/cygwin.h. Declare
|
|
new dll_crt0().
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
* binmode.c: New file.
|
|
* textmode.c: Ditto.
|
|
* perthread.h: Ditto.
|
|
* lib/_cygwin_crt0_common.cc: Ditto.
|
|
* lib/crt0.h: Ditto.
|
|
* lib/cygwin_attach_dll.c: Ditto.
|
|
* lib/cygwin_crt0.c: Ditto.
|
|
* lib/dll_entry.cc: Ditto.
|
|
* lib/dll_main.cc: Ditto.
|
|
* lib/getopt.c: Ditto.
|
|
* lib/libcmain.c: Ditto.
|
|
* lib/premain0.c: Ditto.
|
|
* lib/premain1.c: Ditto.
|
|
* lib/premain2.c: Ditto.
|
|
* lib/premain3.c: Ditto.
|
|
|
|
Wed Jun 28 19:36:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (seteuid): Initialize pi.token before calling
|
|
internal_getlogin().
|
|
* uinfo.cc (internal_getlogin): Use impersonation token instead
|
|
of process token in case of active impersonation. Add some comments.
|
|
(uinfo_init): Initializing myself->token and myself->impersonated
|
|
before calling internal_getlogin(). Add some comments.
|
|
|
|
Mon Jun 26 18:32:41 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* windows.cc (setitimer): Round up when < 1000 usecs.
|
|
|
|
Mon Jun 26 17:34:54 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* hinfo.cc (hinfo::dup2): Eliminate compiler warning.
|
|
|
|
Mon Jun 26 11:25:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* hinfo.cc (hinfo::dup2): Guard against out of bounds newfd.
|
|
|
|
Sat Jun 24 23:43:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* grp.cc (read_etc_group): Open file in text mode.
|
|
* pwd.cc (read_etc_passwd): Ditto.
|
|
* shared.h: Bump PROC_MAGIC.
|
|
|
|
Sat Jun 24 19:30:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fork.cc (fork): Fix error in copying SID pointer.
|
|
* spawn.cc (_spawnve): Ditto.
|
|
* passwd.cc: Remove static from `passwd_in_memory_p'.
|
|
(read_etc_passwd): Remove static.
|
|
* uinfo.cc: Move global declaration of `read_etc_group' and
|
|
`group_in_memory_p' into `uinfo_init'.
|
|
(internal_getlogin): Try to get SID from current process first.
|
|
(uinfo_init): Don't set uid and gid if `myself' has a valid SID.
|
|
Only load /etc/passwd and /etc/group in that case.
|
|
|
|
Sat Jun 24 12:29:59 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* shared.cc (shared_info::initialize): Improve error message clarity.
|
|
* mkvers.sh: Eliminate debugging output.
|
|
|
|
Thu Jun 22 17:50:59 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Autogenerate cygwin.def when appropriate.
|
|
* include/sys/cygwin.h: Correct prototype.
|
|
|
|
Thu Jun 22 17:05:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/sys/cygwin.h: Don't define parts of this file that rely on
|
|
Windows headers unless the Windows header was previously included.
|
|
|
|
Thu Jun 22 20:45:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* registry.cc (load_registry_hive): Use HKEY_USERS when checking
|
|
for existing user hive.
|
|
Use MAX_PATH instead of numerical constant for array size.
|
|
Use return code of RegLoadKeyA instead of GetLastError for error output.
|
|
|
|
Thu Jun 22 14:27:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Add new-libcygwin.a back to all_host target.
|
|
|
|
Wed Jun 21 14:32:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Add *.def to clean operation.
|
|
|
|
Wed Jun 21 13:18:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Add *.exe to clean operation.
|
|
|
|
Wed Jun 21 01:02:38 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mkvers.sh: Fix sed usage for older seds.
|
|
|
|
Tue Jun 20 20:46:28 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Don't touch winver_stamp if mkvers.sh was unsuccessful.
|
|
|
|
Tue Jun 20 17:41:30 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mkvers.sh: Fix problem with handling of CVS tags causing .rc syntax
|
|
errors.
|
|
|
|
Tue Jun 20 13:38:12 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Change to build the DLL during a cross-compiler build.
|
|
|
|
Mon Jun 19 20:46:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (socket_cleanup): Shutdown I/O on dummy sockets prior to
|
|
closing them.
|
|
|
|
Mon Jun 19 19:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'
|
|
and `RegLoadKeyA'.
|
|
* registry.cc (get_registry_hive_path): New function.
|
|
(load_registry_hive): Ditto.
|
|
* security.cc (convert_sid_to_string_sid): New function.
|
|
(get_ssid): Renamed to `convert_string_sid_to_sid'.
|
|
(get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'.
|
|
(get_gr_sid): Ditto.
|
|
(get_admin_sid): Ditto.
|
|
(get_system_sid): Ditto.
|
|
(get_creator_owner_sid): Ditto.
|
|
(get_world_sid): Ditto.
|
|
* shared.h: New prototypes for `get_registry_hive_path' and
|
|
`load_registry_hive'.
|
|
* spawn.cc (spawn_guts): Set child->psid to NULL to force calling
|
|
`internal_getlogin' from child process in case of changing user context.
|
|
Call `load_registry_hive' in case of changing user context.
|
|
(_spawnve): Copy user infos only if user context remains the same.
|
|
* uinfo.cc: Add load statement for `NetUserGetInfo'.
|
|
Remove load statement for `NetGetDCName'.
|
|
(internal_getlogin): Rewrite to speed up process startup
|
|
and to correct user environment in case user context changes.
|
|
(uinfo_init): Call internal_getlogin only if myself->psid is NULL,
|
|
that is user context changes.
|
|
* winsup.h: Add prototypes for `convert_sid_to_string_sid',
|
|
`convert_string_sid_to_sid' and `get_pw_sid'.
|
|
|
|
Sun Jun 18 13:42:50 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (set_name): Don't use 'unix' as name since this is defined
|
|
by gcc now.
|
|
* fhandler.cc (set_name): Ditto.
|
|
|
|
2000-06-17 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* winsup.h (isabspath): Don't report `C:foo' as an absolute path.
|
|
|
|
Sat Jun 17 13:51:48 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* configure.in: Detect "cross-hosting" situation and set appropriate
|
|
variables in Makefile to avoid building excess stuff.
|
|
* configure: Regenerate.
|
|
* Makefile.in: Accomodate above change.
|
|
|
|
Sat Jun 17 19:52:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* pinfo.cc (pinfo_init): Revert previous patch.
|
|
|
|
Sat Jun 17 13:29:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* pinfo.cc (pinfo_init): Add missing initializers.
|
|
* uinfo.cc (internal_getlogin): Request domain infos only
|
|
when ntsec is ON.
|
|
|
|
Fri Jun 16 19:27:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Just use library files from this tree when building
|
|
cygrun.exe.
|
|
* path.cc (chdir): Don't set cache to offending chdir. Change comment
|
|
to reflect current reality.
|
|
|
|
Fri Jun 16 20:55:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Define symbols for `cygwin_logon_user' and
|
|
`cygwin_set_impersonation_token'.
|
|
* dcrt0.cc (dll_crt0_1): Eliminate superfluous conditional
|
|
statements.
|
|
Add load statements for `ImpersonateLoggedOnUser', `LogonUserA'
|
|
and `RevertToSelf'.
|
|
* fork.cc (fork): Care for correct impersonation of parent
|
|
and child process.
|
|
* security.cc (cygwin_set_impersonation_token): New function.
|
|
(cygwin_logon_user): Ditto.
|
|
shared.h (class pinfo): New members `orig_uid', `orig_gid',
|
|
`real_uid' nad `real_gid'.
|
|
spawn.cc (spawn_guts): Care for impersonation when starting
|
|
child process in a different user context.
|
|
* syscalls.cc (setgid): Call `setegid' now. Set real_gid.
|
|
(setuid): Call `seteuid' now. Set real_uid.
|
|
(seteuid): Functionality moved from setuid to here. Care for
|
|
correct impersonation.
|
|
(setegid): Functionality moved from setgid to here.
|
|
* uinfo.cc (uinfo_init): Initialization of additional pinfo
|
|
members.
|
|
(getuid): Return real uid.
|
|
(getgid): Return real gid.
|
|
(geteuid): Return effective uid.
|
|
(getegid): Return effective gid.
|
|
include/sys/cygwin.h: Add prototypes for `cygwin_logon_user' and
|
|
`cygwin_set_impersonation_token'.
|
|
include/cygwin/version.h: Bump API minor version to 22.
|
|
|
|
Thu Jun 15 15:43:50 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Convert path to POSIX if it seems to
|
|
be a Windows path.
|
|
|
|
2000-06-15 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::add_item): Eliminate a trailing backslash
|
|
included in a native path starting with '//[A-Za-z]/...'.
|
|
* path.cc (mount_info::del_item): Accept a native path as its target.
|
|
|
|
Wed Jun 14 23:47:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (conv_envvars): Detect and convert all environment
|
|
variables used by libiberty's choose-temp.c
|
|
|
|
Tue Jun 13 12:41:41 2000 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::add_item): The previous patch can't handle
|
|
the case of overwriting a mount entry.
|
|
|
|
Tue Jun 13 00:17:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* thread.h: Shorten "current_directory" variables to "cwd_*"
|
|
throughout.
|
|
* path.cc: Ditto.
|
|
(normalize_posix_path): Add some extra debugging info.
|
|
(chdir): Ditto. Store chdir'ed posix and MS-DOS directory names in
|
|
"cache" here rather than trying to derive them later.
|
|
|
|
Sun Jun 11 15:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_random.cc (read): Call CryptAquireContext with
|
|
CRYPT_VERIFYCONTEXT.
|
|
|
|
Thu Jun 8 22:49:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (path_conv::check): Erase two lines checked in
|
|
by mistake.
|
|
|
|
Thu Jun 8 15:53:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_disk_file::open): Check for directory
|
|
to set O_DIROPEN on directories anyway.
|
|
|
|
2000-06-07 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::init): Eliminate the mount_slash feature.
|
|
(mount_slash): Eliminated.
|
|
(mount_info::read_mounts): Eliminate looking up existing entries. The
|
|
loop for deleting cygpath entries is done only when such entries exist.
|
|
(mount_info::from_registry): Eliminate sorting.
|
|
(mount_info::add_item): Call add_reg_mount if necessary. Check nmounts
|
|
more precisely. Use strcasematch in looking up existing entries.
|
|
(mount_info::del_item): Call del_reg_mount if necessary. Use
|
|
strcasematch. Use memmove instead of memcpy.
|
|
(mount_info::import_v1_registry): Everything is done in this method.
|
|
(mount_info::to_registry): Eliminated.
|
|
(mount_info::from_v1_registry): Eliminated.
|
|
(cygwin_umount): Simply call del_item.
|
|
* shared.h: Modify the declaration of add_item and del_item. Remove the
|
|
declaration of from_v1_registry.
|
|
|
|
Wed Jun 7 23:56:10 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 3.
|
|
|
|
2000-06-07 DJ Delorie <dj@cygnus.com>
|
|
|
|
* cygwin.din: add cygwin_dll_init
|
|
* dcrt0.cc (cygwin_dll_init): new
|
|
(dll_crt0_1): short circuit if manually loaded
|
|
* path.cc (mount_info::init): don't init if manually loaded
|
|
|
|
Wed Jun 7 13:47:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/netinet/in_systm.h: New file.
|
|
* include/cygwin/in_systm.h: Ditto.
|
|
|
|
Thu Jun 1 01:55:45 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc: Remove unneeded include.
|
|
* dcrt0.cc: Wrap LoadDLLfunc stuff in dummy function.
|
|
* init.cc: Ditto.
|
|
* uinfo.cc: Ditto.
|
|
|
|
2000-05-31 DJ Delorie <dj@cygnus.com>
|
|
|
|
* include/cygwin/version.h: use decimal, NOT octal
|
|
|
|
Wed May 31 16:40:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_disk_file::open): Check for executable
|
|
even if ntsec is on if filesystem doesn't support ACLs.
|
|
|
|
Wed May 31 15:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc: Use LoadDLLfuncEx for loading Crypto API functions
|
|
with parameter `notimp' set to 1.
|
|
|
|
Tue May 30 16:58:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (mount_info::conv_to_win32_path): Previous patch was too
|
|
aggressive in adding a trailing slash.
|
|
|
|
Mon May 29 20:31:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Remove libadvapi32.a.
|
|
* autoload.h: Add additional field to autoload block for handling
|
|
unimplemented functions.
|
|
(LoadDLLfuncEx): New function which accepts additional parameter for
|
|
controlling unimplemented function behavior.
|
|
(LoadDLLfunc): Use LoadDLLfuncEx.
|
|
* dcrt0.cc: Use new arguments for LoadDLLfunc. Add advapi32 routines.
|
|
(noload): Rewrite in assembler. Handle new unimplemented function
|
|
type.
|
|
* exceptions.cc: Eliminate another vestige of StackWalk stuff.
|
|
* net.cc: Use new arguments for LoadDLLfunc.
|
|
* uinfo.cc: Ditto.
|
|
|
|
Mon May 29 20:18:47 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* config.h.in: Remove obsolete define.
|
|
* path.h (isdrive): New macro.
|
|
* dcrt0.cc (globify): Use new macro to determine if a string refers to
|
|
an MS-DOS drive.
|
|
* environ.cc (winenv): Ditto.
|
|
* spawn.cc (find_exec): Ditto.
|
|
* path.cc (get_raw_device_number): Ditto.
|
|
(mount_info::conv_to_posix_path): Ditto.
|
|
(chdir): Ditto.
|
|
(cygwin_posix_path_list_p): Ditto.
|
|
(cygwin_split_path): Ditto.
|
|
(path_conv::check): Move tmp_buf to beginning of function since it can
|
|
be used earlier in the loop. Use tmp_buf rather than 'root' to hold
|
|
root information.
|
|
(mount_info::conv_to_win32_path): Add trailing slash to end of mount
|
|
path when it translates to a drive. Add defensive code to avoid
|
|
writing beyond the end of 'dst'.
|
|
|
|
Sat May 27 15:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_random.cc (read): Use CRYPT_MACHINE_KEYSET in
|
|
call to CryptAcquireContext() to serve users that did not
|
|
log in interactively.
|
|
|
|
Fri May 26 11:16:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* errno.cc (errmap): Map ERROR_BAD_NET_NAME to errno ENOSHARE.
|
|
|
|
Fri May 26 02:23:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.h (sigframe::set): Accept a default frame pointer.
|
|
* sigproc.cc (sig_send): Use passed in frame pointer, if appropriate.
|
|
|
|
Thu May 25 17:44:25 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dir.cc (rmdir): Use file attributes that have already been discovered
|
|
by path_conv.
|
|
|
|
2000-05-25 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* dir.cc (rmdir): Correct the manner in checking the target directory.
|
|
|
|
Wed May 24 21:59:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dir.cc (writable_directory): Comment out previous code,
|
|
return always 1 for now.
|
|
(mkdir): Call set_file_attribute explicitely with S_IFDIR mode bit.
|
|
* syscalls.cc (chown_worker): Ditto.
|
|
(chmod): Ditto.
|
|
* security.cc (get_nt_attribute): Fix error in debug output.
|
|
Never set FILE_DELETE_CHILD for files.
|
|
Construct appropriate inherit attribute according to file type.
|
|
|
|
2000-05-23 DJ Delorie <dj@cygnus.com>
|
|
|
|
* syscalls.cc (_cygwin_istext_for_stdio): New, for newlib
|
|
* include/cygwin/version.h: Bump API number for detect old
|
|
programs using old getc/putc macros
|
|
|
|
2000-05-23 DJ Delorie <dj@cygnus.com>
|
|
|
|
* dir.cc (writable_directory): handle root directories
|
|
|
|
Tue May 23 10:09:26 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* uname.cc (uname): Use a "s" to denote a snapshot to avoid confusion
|
|
with the number "5".
|
|
|
|
Tue May 23 10:01:07 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (mount_info::conv_to_posix_path): Avoid putting a trailing
|
|
slash on a directory name when the ms-dos path spec is a root directory
|
|
of a device.
|
|
* registry.cc (reg_key::build_reg): Set 'key_is_invalid' flag rather
|
|
than using an INVALID_HANDLE_KEY.
|
|
(reg_key::get_int): Test for key validity before performing registry
|
|
operations.
|
|
(reg_key::set_int): Ditto.
|
|
(reg_key::get_string): Ditto.
|
|
(reg_key::set_string): Ditto.
|
|
(reg_key::kill): Ditto.
|
|
(reg_key::~reg_key): Ditto.
|
|
|
|
Tue May 23 01:13:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mkvers.sh: Use snapshot date as build date since it is more
|
|
interesting.
|
|
* uname.cc (uname): Detect if this is a snapshot build and add an "S"
|
|
to the version number. Report the snapshot date as the release date.
|
|
|
|
Mon May 22 17:11:25 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (regopt): Scan HKLM if HKCU scan fails.
|
|
|
|
Mon May 16 23:39:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dir.cc (rmdir): Care for misleading error messages
|
|
when trying to remove a directory on a samba share.
|
|
Eliminate superfluous else branch.
|
|
* syscalls.cc (_rename): Additional check for ERROR_FILE_EXISTS
|
|
if MoveFile fails.
|
|
|
|
Sun May 21 20:51:44 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move uinfo_init call to before sigproc_init to
|
|
avoid a race.
|
|
(noload): Add an extra argument for debugging.
|
|
* uinfo.cc (uinfo_init): Eliminate test for multiple calls.
|
|
(getlogin): Assume that uinfo_init has already been called.
|
|
|
|
Sat May 20 01:34:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Add an argument to control whether
|
|
function just checks for validity. Flag module handle == 0 as
|
|
noninterrupible.
|
|
(call_handler): Always acquire and release ebp lock. Loop for only a
|
|
fixed amount of time attempting to grab mutos and find an interruptible
|
|
PC.
|
|
|
|
2000-05-19 DJ Delorie <dj@cygnus.com>
|
|
|
|
* syscalls.cc (setmode): change mode of any matching FILE* also.
|
|
|
|
Thu May 18 17:28:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Remove external.h dependency.
|
|
* dcrt0.cc (sigthread::init): Move here from sigproc.h.
|
|
* sigproc.h (sigthread): Move init to dcrt0.cc.
|
|
|
|
Thu May 18 01:28:02 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* select.cc (thread_pipe): Add paranoid check to ensure thread
|
|
termination.
|
|
* external.cc: Eliminate obsolete include.
|
|
* getopt.c (getopt_long): Fix compiler warning.
|
|
* shared.h: Moved PID_ definitions to include/sys/cygwin so that they
|
|
can be used by external programs.
|
|
* include/sys/cygwin.h: Move external definitions here. Include
|
|
sys/resource.h to avoid having to do this everywhere.
|
|
|
|
Thu May 18 01:04:02 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.h (sigframe): Don't set frame info unless tid matches this
|
|
thread id.
|
|
|
|
Wed May 17 23:13:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Initialize mainthread stuff here before
|
|
anything needs it.
|
|
* sigproc.cc (sigproc_init): Move mainthread initialization out of
|
|
here.
|
|
* sigproc.h (sigthread): Add init() method.
|
|
(sigframe): Don't try to initialize muto.
|
|
* sync.cc: Undef WaitForSingleObject to avoid recursion.
|
|
|
|
2000-05-17 DJ Delorie <dj@cygnus.com>
|
|
|
|
* testsuite/winsup.api/crlf.c: New
|
|
* testsuite/winsup.api/iospeed.c: New
|
|
|
|
Wed May 17 01:05:52 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (mount_info::cygdrive_posix_path): Don't add trailing slash
|
|
if referring to something like c:\.
|
|
* dcrt0.cc (dll_crt0_1): Move uinfo initialization prior to sig_send
|
|
initialization to give signal thread a chance to finish.
|
|
* debug.cc (WFSO): Move to sigproc.cc
|
|
(WFMO): Ditto.
|
|
* exceptions.cc (interruptible): Allocate slightly more space for
|
|
directory just for paranoia's sake.
|
|
(call_handler): Eliminate nonmain argument. Determine if main thread
|
|
has set a frame pointer and use it if so.
|
|
(sig_handle): Eliminate nonmain argument.
|
|
* net.cc: Record frame information in appropriate routines throughout.
|
|
* select.cc (select): Ditto.
|
|
* sigproc.cc: Use sigthread structure to record mainthread id
|
|
throughout.
|
|
(sig_send): Record frame information for signal handler.
|
|
(wait_sig): Reflect argument change in sig_handle.
|
|
(WFSO): Move here and record frame information for signal handler.
|
|
(WFMO): Ditto.
|
|
* sigproc.h: Implement new "sigthread" class. Implement "sigframe"
|
|
class for manipulating signal frame info.
|
|
* thread.cc (__pthread_kill): Use standard _kill() function rather than
|
|
calling sig_send directly.
|
|
* winsup.h: Eliminate ebp element from signal_dispatch class.
|
|
|
|
Tue May 16 23:39:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by John Rowley <wjr@bgs.ac.uk>
|
|
* fhandler_tape.cc (fhandler_dev_tape::ioctl): Check
|
|
for filemark feature on MTWEOF operation.
|
|
|
|
Tue May 16 11:49:13 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/in.h (AF_INET6): Use correct in6_addr struct.
|
|
|
|
Mon May 15 00:35:35 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 2.
|
|
|
|
Sun May 14 23:41:24 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* shared.h: Bump PROC_MAGIC.
|
|
* include/cygwin/version.h: Bump API minor to accomodate two recent
|
|
exports.
|
|
|
|
2000-05-13 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* include/cygwin/socket.h (AF_INET6): Use same value as winsock2.
|
|
|
|
2000-05-12 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* include/cygwin/in.h (struct in6_addr): Fix spelling.
|
|
* include/cygwin/socket.h (AF_INET6, PF_INET6): Define macros.
|
|
(AF_MAX, PF_MAX): Bump to 32 to leave room for future expansion.
|
|
|
|
Fri May 12 21:35:54 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (build_argv): Remove unneeded variable.
|
|
* select.cc (peek_pipe): Don't check for "ready" if it's already set.
|
|
(peek_console): Ditto.
|
|
(peek_serial): Ditto.
|
|
(peek_socket): Ditto.
|
|
(peek_windows): Ditto.
|
|
|
|
Fri May 12 20:31:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_raw.cc (write_file, read_file): New wrapper functions
|
|
for WriteFile and ReadFile to get rid of ERROR_MEDIA_CHANGED
|
|
and ERROR_BUS_RESET in case of first access to tape.
|
|
(fhandler_dev_raw::raw_write): Use write_file instead of WriteFile.
|
|
(fhandler_dev_raw::raw_read): Use read_file instead of ReadFile.
|
|
|
|
Fri May 12 01:04:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in (DLL_OFILES): Sort.
|
|
* fhandler_tty.cc (fhandler_tty_slave::send_ioctl_request): Eliminate.
|
|
(fhandler_tty_slave::ioctl): Rewrite to avoid races.
|
|
|
|
2000-05-11 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* mmap.cc (list::erase): Increment loop counter.
|
|
(map::erase): Likewise.
|
|
|
|
Thu May 11 00:54:00 2000 Charles Wilson <cwilson@ece.gatech.edu>
|
|
|
|
* cygwin.din: insure that regsub() is included in
|
|
cygwin1.dll
|
|
|
|
Tue May 9 18:59:41 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Use appropriate VARIABLE to refer to cygwin.def in load
|
|
line.
|
|
|
|
Thu May 9 23:53:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::puts_readahead): Change
|
|
while condition to disallow wild runs.
|
|
|
|
Thu May 9 15:24:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by <lha@stacken.kth.se>
|
|
* window.cc (setitimer): Check for overflow condition
|
|
in tv_sec.
|
|
|
|
Thu May 9 0:47:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by Eric Fifer <EFifer@sanwaint.com>
|
|
* errno.cc: Change mapping of ERROR_BAD_PATHNAME to ENOENT.
|
|
|
|
Thu May 9 0:47:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink::info): Treat non readable files
|
|
as normal non symlink files.
|
|
|
|
2000-05-08 Paul K. Fisher <pfisher@plexware.com>
|
|
|
|
* include/pthread.h (pthread_detach): Add missing prototype.
|
|
(pthread_join): same.
|
|
|
|
2000-05-08 DJ Delorie <dj@cygnus.com>
|
|
|
|
* fhandler.cc (lock): use signed math to allow checking ranges
|
|
properly.
|
|
|
|
Sat May 6 23:22:25 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (insert_file): Eliminate unused parameter.
|
|
(build_argv): Ditto.
|
|
* exceptions.cc (stack): Eliminate unused parameters.
|
|
(stackdump): Ditto.
|
|
(cygwin_stackdump): Reflect above changes.
|
|
(sig_handle): Ditto.
|
|
* fhandler.cc (fhandler_base::set_inheritance): Use kludge to avoid
|
|
unused parameter warning.
|
|
|
|
2000-05-06 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* include/wchar.h (wcscmp, wcslen): Fix prototypes.
|
|
* syscalls.cc (wcslen, wcscmp): Adjust.
|
|
|
|
Fri May 5 23:32:07 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* errno.cc (errmap): Correct DIRECTORY mapping to ENOTDIR.
|
|
|
|
2000-05-04 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* Makefile.in (install): Install profile startup and library.
|
|
|
|
Wed May 3 21:54:11 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* configure.in: Use -gstabs+ as compile debug option. This seems to
|
|
promote better handling of symbols.
|
|
* configure: Regenerate.
|
|
* delqueue.cc (delqueue_list::process_queue): Allow ERROR_ACCESS_DENIED
|
|
to indicate that a file is being shared under Windows 95.
|
|
* syscalls.cc (_unlink): Use full path name. Take special action for
|
|
Windows 95. Assume that an ERROR_ACCESS_DENIED indicates a sharing
|
|
violation unless it's on a remote drive. Punt if there is an
|
|
ERROR_ACCESS_DENIED on a remote drive.
|
|
|
|
Wed May 3 18:07:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* errno.cc (errmap): Map ERROR_BAD_NETPATH to new errno ENOSHARE.
|
|
(_sys_errlist): Add entry for ENOSHARE.
|
|
(strerror): Add case for ENOSHARE.
|
|
* syscalls.cc (stat_worker): Check for errno ENOSHARE.
|
|
|
|
Wed May 3 17:28:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Makefile.in: Add dependencies for fhandler_random.o
|
|
* fhandler.h: Add device type FH_RANDOM. Add class
|
|
fhandler_dev_random.
|
|
* fhandler_random.cc: New file. Implementation of
|
|
fhandler_dev_random.
|
|
* hinfo.cc (build_fhandler): Add case for FH_RANDOM.
|
|
* path.cc: Add device names for random devices to
|
|
windows_device_names.
|
|
(get_device_number): Add if branch for random devices.
|
|
(win32_device_name): Add device name generation for
|
|
random devices.
|
|
winsup.h: Include <wincrypt.h>.
|
|
|
|
2000-05-02 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* path.cc (mount_info::conv_to_win32_path): Previous patch
|
|
failed to set flags on a win32 path.
|
|
|
|
Tue May 2 11:34:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (read_sd): Return 1 on success because we
|
|
can't rely on the returned SD size from GetFileSecurity.
|
|
|
|
Tue May 2 2:22:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc: Add dynamic load code for `OemToCharA' from user32.dll.
|
|
* security.cc (read_sd): Call `OemToCharA' to make
|
|
`GetFileSecurity' happy on filenames with umlauts.
|
|
|
|
Wed Apr 26 23:23:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_win32_path): Don't add a trailing slash when one
|
|
already exists.
|
|
(mount_info::conv_to_win32_path): Use existing code for dealing with
|
|
relative path names when input is already a win32 path.
|
|
|
|
2000-04-26 DJ Delorie <dj@cygnus.com>
|
|
|
|
* Makefile.in (install): install regexp.h
|
|
|
|
Wed Apr 26 16:20:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (stat_worker): Previous patch could succeed
|
|
in stating a non-existant file.
|
|
|
|
Wed Apr 26 01:07:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Allocate slightly more space for
|
|
directory name check. Windows 95 seems to null-terminate the directory
|
|
otherwise.
|
|
(interrupt_on_return): Issue a fatal error if we can't find the
|
|
caller's stack.
|
|
|
|
Tue Apr 25 16:50:54 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (find_exec): Accept a path_conv argument rather than a
|
|
buffer so that the caller can find things out about a translated path.
|
|
(perhaps_suffix): Ditto.
|
|
(spawn_guts): Allocate path_conv stuff here so that we can find out
|
|
stuff about the translated path (this is work in progress).
|
|
* environ.cc (environ_init): Accept an as-yet unused argument
|
|
indicating whether we were invoked from a cygwin parent or not.
|
|
(winenv): Ditto.
|
|
(posify): Accept an argument indicating whether the path has already
|
|
been translated.
|
|
* dlfcn.cc (check_access): Provide a path_conv buffer to find_exec.
|
|
* exec.cc (sexecvpe): Ditto.
|
|
* path.cc (path_conv::check): Rename from path_conv::path_conv.
|
|
(mount_item::getmntent): Recognize "Cygwin executable" bit.
|
|
(symlink_info::check): Remove debugging statements.
|
|
* path.h (class path_conv): Add iscygexec method. Rewrite constructor
|
|
to call "check" method to allow multiple operations on a path_conv
|
|
variable.
|
|
* pinfo.cc (pinfo_init): Pass argument to environ_init.
|
|
* shared.h: Bump PROC_MAGIC.
|
|
* winsup.h: Reflect above changes to function arguments.
|
|
* include/sys/mount.h: Add MOUNT_CYGWIN_EXEC type.
|
|
|
|
Thu Apr 25 21:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (stat_worker): Previous patch failed to stat
|
|
each drives root dir on 9X.
|
|
|
|
Thu Apr 25 16:37:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_disk_file::open): Check for allow_ntsec
|
|
when determining exec flag.
|
|
* path.cc (symlink_info::check): Remove call to get_file_attribute().
|
|
* security.cc (read_sd): Rename, ditto for variables to conform
|
|
to common naming convention. Use GetFileSecurity() instead of
|
|
BackupRead() to avoid permission problems when reading ACLs.
|
|
(write_sd): Same renaming as for read_sd().
|
|
(alloc_sd): Change default permissions according to Linux permissions
|
|
for group and world when write permission is set.
|
|
* syscalls.cc (stat_worker): Avoid different permission problems
|
|
when requesting file informations.
|
|
|
|
Thu Apr 25 10:50:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc: Avoid a warning in declaration inet_network.
|
|
|
|
Mon Apr 24 17:38:25 2000 Thorsten Otto <t.otto@germanynet.de>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Detect extended keycode
|
|
information for Windows 9x so that function keys will work correctly.
|
|
|
|
2000-04-24 Vadim Egorov <egorovv@mailandnews.com>
|
|
|
|
* net.cc (cygwin_inet_network): new function.
|
|
* cygwin.din (inet_network): new export
|
|
|
|
Fri Apr 21 10:37:08 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Previous two patches were still
|
|
incorrect so rewrite this function to deal with trailing dots.
|
|
(mount_info::conv_to_win32_path): Just check for '/' where appropriate.
|
|
Eliminate nofinalslash call since it is handled in normalize_posix_path
|
|
now.
|
|
|
|
Thu Apr 20 17:32:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (handle_exceptions): Search further for stack info to
|
|
accomodate Windows 95.
|
|
|
|
Thu Apr 20 16:39:18 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (normalize_posix_path): Previous change failed to take root
|
|
access into account.
|
|
|
|
Thu Apr 20 11:26:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (_link): Check new link path for trailing dot.
|
|
|
|
Thu Apr 20 00:32:03 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (fhandler_base::hclose): New virtual method.
|
|
(fhandler_base::set_inheritance): Make this a method so that we can use
|
|
the appropriate close methods.
|
|
* fhandler.cc (fhandler_base::set_inheritance): Ditto.
|
|
* path.cc (normalize_posix_path): Eliminate /. trailing path
|
|
component.
|
|
|
|
Wed Apr 20 0:19:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (setuid): Allow switching user context after
|
|
successful call to ImpersonateLogedOnUser (NT only).
|
|
(setgid): Ditto.
|
|
(seteuid): Call setuid.
|
|
(setegid): Call setgid.
|
|
|
|
Wed Apr 19 22:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (internal_getlogin): Use NetGetDCName() instead
|
|
of NetGetAnyDCName().
|
|
|
|
Mon Apr 17 12:08:47 2000 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
|
|
|
|
* syscalls.cc (_rename): Try MoveFile() at first before
|
|
MoveFileEx(..., MOVEFILE_REPLACE_EXISTING).
|
|
|
|
Tue Apr 18 19:15:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (globify): Don't use \ quoting when apparently quoting a DOS
|
|
path spec, even within a quoted string.
|
|
|
|
Sun Apr 16 18:54:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* init.cc (dll_entry): Use better check for determining when to set
|
|
thread specific stuff.
|
|
* syscalls.cc (_unlink): Continue with chmod'ing file even if
|
|
DELETE_ON_CLOSE succeeds, if file still exists.
|
|
|
|
Fri Apr 14 23:51:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_console.cc (keytable): Add support for keypad 5 key, which
|
|
MS seems to think is equivalent to VK_CLEAR.
|
|
* debug.cc (thread_stub): Eliminate initialization of reent stuff.
|
|
* init.cc (dll_entry): Move it here.
|
|
|
|
Thu Apr 13 18:32:26 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (insert_file): Avoid freeing previously allocated argument
|
|
list.
|
|
* path.cc (symlink_info::check): Rename from symlink_check_one. Use
|
|
new symlink_info struct for communication.
|
|
(path_conv::path_conv): Use symlink_info structure for communication
|
|
with symlink_info::check. Fix typo which resulted in symbolic links
|
|
always being resolved.
|
|
(readlink): Use stat_suffixes array when resolving a link.
|
|
* syscalls.cc (stat_suffixes): Make global.
|
|
|
|
Thu Apr 13 20:50:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/version.h: Bump minor api to reflect export change.
|
|
|
|
Thu Apr 13 8:48:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (conv_to_win32_path): Detect a win32 path
|
|
if path contains backslashes.
|
|
* cygwin.din: Add symbol for `lacl'.
|
|
* security.cc (ReadSD): Add debug output.
|
|
(acl_worker): New static function.
|
|
(acl): Call acl_worker now.
|
|
(lacl): New function.
|
|
(facl): Call acl_worker now.
|
|
* include/cygwin/acl.h: Add prototype for `lacl'.
|
|
|
|
Wed Apr 12 18:48:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (path_conv::path_conv): Ensure that suffix is correctly
|
|
copied to path when we've found a symlink but aren't following
|
|
symlinks.
|
|
|
|
Sat Apr 8 00:46:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.cc (fhandler_disk_file::fstat): Allocate enough space for
|
|
root dir determination or overflow an array.
|
|
|
|
Sat Apr 8 00:08:53 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (sigsave): Copy on fork so that we can restore correct
|
|
behavior in forked process.
|
|
(interruptible): Flag as interruptible when running in main process
|
|
module.
|
|
(interrupt_setup): Save return address and address of return address.
|
|
(signal_fixup_after_fork): New function. Uses above two values to
|
|
restore proper behavior to forked process.
|
|
(interrupt_on_return): Pass return address address to interupt_setup.
|
|
(interrupt_now): Pass NULL for return address address to
|
|
interrupt_setup.
|
|
* fork.cc (fork): Call signal_fixup_after_fork.
|
|
* shared.h: Lint cleanups.
|
|
* winsup.h: Ditto.
|
|
|
|
Mon Apr 3 14:10:44 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (select_stuff): Eliminate use of 'total'.
|
|
* select.cc (cygwin_select): Ditto.
|
|
(select_stuff::wait): Use maximum size for w4 rather than calculating
|
|
what will fit.
|
|
|
|
Mon Apr 03 13:58:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (parse_grp): Save empty array instead of
|
|
NULL in gr_mem if no supplementary group is given.
|
|
|
|
Sun Apr 02 16:02:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (chown_worker): Use previous uid/gid if
|
|
new uid/gid is -1.
|
|
|
|
Fry Mar 31 22:55:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (chown_worker): New static function with
|
|
chown functionality.
|
|
(chown): Call chown_worker with SYMLINK_FOLLOW.
|
|
(fchown): New function. Call chown_worker with SYMLINK_FOLLOW.
|
|
(lchown): New function. Call chown_worker with SYMLINK_IGNORE.
|
|
* cygwin.din: Add symbols for fchown, lchown.
|
|
|
|
Fry Mar 31 11:18:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink): Call `set_file_attribute()' and
|
|
`SetFileAttributeA()' instead of `chmod()' to set
|
|
uid/gid correct.
|
|
|
|
Wed Mar 29 22:49:56 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.h (select_record): Explicitly zero elements of this class.
|
|
(select_stuff): Ditto.
|
|
* select.cc (cygwin_select): Eliminate memset zero of sel.
|
|
|
|
Tue Mar 28 16:45:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Use default rules when compiling cygrun.o.
|
|
* dcrt0.cc (host_dependent_constants::init): Limit non-NT platforms to
|
|
32K chunks when copying regions during a fork.
|
|
* path.cc (symlink_check_one): Add temporary debugging output.
|
|
Simplify PATH_EXEC test.
|
|
* syscalls.cc (stat_suffixes): Null terminate this list.
|
|
|
|
Sat Mar 25 20:46:39 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* path.cc (symlink_check_one): Recognize symlink settings from the
|
|
mount table.
|
|
* path.h: Make PATH_SYMLINK an alias for MOUNT_SYMLINK.
|
|
* syscalls.cc (stat_worker): Use extension search mechanism in
|
|
path_conv to look for .exe rather than trying to special case it here.
|
|
* mount.h: Make MOUNT_SYMLINK a real option.
|
|
|
|
Sat Mar 25 00:22:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc: Add TMPDIR to the list of environment variables which are
|
|
converted to POSIX format.
|
|
* sigproc.cc (proc_terminate): Don't attempt to delete when a muto
|
|
pointer is NULL.
|
|
|
|
Sun Mar 19 12:01:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives.
|
|
|
|
Sat Mar 18 23:04:27 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* times.cc: Fix extern declarations for variables that are exported but
|
|
used by this modules.
|
|
|
|
Sat Mar 18 01:32:04 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (host_dependent_constants::init): Eliminate DELETE flag
|
|
from shared constant.
|
|
|
|
Sat Mar 18 01:24:25 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* delqueue.cc (delqueue_list::queue_file): Add some debugging.
|
|
* path.h (class path_conv): Add a char * operator for the most common
|
|
case.
|
|
* syscalls.cc (_unlink): Rewrite to use FILE_FLAG_DELETE_ON_CLOSE when
|
|
possible (i.e., on NT).
|
|
|
|
Fri Mar 17 18:16:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by Eric Fifer <EFifer@sanwaint.com>
|
|
* fhandler.cc (fhandler_base::open): Call set_file_attribute()
|
|
only if a file is really created.
|
|
|
|
Thu Mar 16 14:15:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (set_process_privileges): Remove `static'.
|
|
(get_nt_attribute): Returns uid and gid additionally. Remove call
|
|
to set_process_privileges().
|
|
(get_file_attribute): Returns uid and gid additionally. Don't
|
|
call ntea if ntsec is ON.
|
|
(set_nt_attribute): Remove call to set_process_privileges().
|
|
Don't call ntea if ntsec is ON.
|
|
(acl): Remove call to set_process_privileges().
|
|
* dcrt0.cc (dll_crt0_1): Call set_process_privileges().
|
|
* winsup.h: New prototype for set_process_privileges(),
|
|
changed prototype for get_file_attribute().
|
|
* fhandler.cc (get_file_owner): Discard function.
|
|
(get_file_group): Ditto.
|
|
(fhandler_disk_file::fstat): Discard calls to get_file_owner() and
|
|
get_file_group().
|
|
* path.cc (path_conv::path_conv): New debugging output for result
|
|
of GetVolumeInformation().
|
|
(mount_info::conv_to_win32_path): Call backslashify() with pathbuf
|
|
instead of src_path.
|
|
* syscalls.cc (chown): Reformat slightly.
|
|
(chmod): Replace get_file_owner() and get_file_group() calls
|
|
by a call to get_file_attribute(). Discard local variable has_acls.
|
|
Reformat slightly.
|
|
(stat_worker): Root dir check now done by a call to rootdir().
|
|
Don't call num_entries() on remote drives.
|
|
Discard local variable has_acls.
|
|
|
|
Wed Mar 15 20:38:06 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* errno.cc: Map ERROR_NOACCESS to EFAULT.
|
|
|
|
Wed Mar 15 14:25:38 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* spawn.cc (spawn_guts): Restore dependency on signal_arrived. It's
|
|
needed to wake up the WaitForSingleObject.
|
|
|
|
Tue Mar 14 23:41:16 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
|
|
* debug.cc (threadname_init): Pass name of lock as arg 2 of new_muto.
|
|
* malloc.cc (malloc_init): Ditto.
|
|
* sigproc.cc (sigproc_init): Ditto.
|
|
* exceptions.cc (events_init): Ditto.
|
|
(call_handler): Eliminate special case for hExeced. Report locked
|
|
thread in debugging output.
|
|
* fhandler.cc (fhandker_pipe::fhandler_pipe): Propagate device type to
|
|
base class.
|
|
* fhandler.h (fhandler_pipe): Ditto.
|
|
* hinfo.cc (hinfo::build_fhandler): Pass specific type of pipe to
|
|
constructor.
|
|
* spawn.cc (spawn_guts): Eliminate dependency on signal when waiting
|
|
for subprocess.
|
|
* strace.cc: Remove obsolete #ifdef.
|
|
* sync.cc (muto::muto): Save the name of the muto.
|
|
(muto:~muto): Also release the muto.
|
|
* sync.h: Add a muto name field.
|
|
* select.cc (peek_pipe): Avoid doing a PeekNamedPipe on the write end
|
|
of a pipe.
|
|
|
|
Sun Mar 12 01:14:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.cc (fhandler_base::get_readahead_into_buffer): New function.
|
|
* fhandler.h: Declare new function. Add extra argument to
|
|
process_slave_output.
|
|
* fhandler_console.cc (fhandler_console::read): Move read ahead code to
|
|
new function.
|
|
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Move
|
|
common code here.
|
|
(fhandler_tty_slave::read): Understand readahead.
|
|
(fhandler_pty_master::read): Move code to process_slave_output.
|
|
* select.cc (peek_pipe): Avoid performing certain checks when non-read
|
|
and on inappropriate fh types.
|
|
|
|
Sat Mar 11 22:47:43 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Don't even think about
|
|
breaking on interrupt if executing in a "cygwin" thread.
|
|
* fhandler_tty.cc (fhandler_pty_master::process_slave_output):
|
|
Streamline, simplify code.
|
|
* sigproc.cc (sig_send): Remove debugging statement.
|
|
|
|
Fri Mar 10 13:20:50 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc: Set wait_sig priority to normal.
|
|
|
|
Fri Mar 10 13:03:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (wait_sig): Add addtional debugging output.
|
|
|
|
Thu Mar 9 15:25:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc: Eliminate oldstack CYGWIN option.
|
|
* exceptions.cc (sfta): Eliminate obsolete function.
|
|
(sgmb): Eliminate obsolete function.
|
|
(class stack_info): Remove MS method for walking the stack.
|
|
(stack_info::init): Just initialize required fields.
|
|
(stack_info::brute_force): Rename to stack_info::walk.
|
|
(handle_exceptions): Pass derived frame pointer to sig_send.
|
|
(interrupt_setup): Clear saved frame pointer here.
|
|
(interrupt_on_return): thestack is no longer a pointer.
|
|
(call_handler): Accept a flag to indicate when a signal was sent from
|
|
other than the main thread. Use saved frame pointer for determining
|
|
where to place signal handler call.
|
|
(sig_handle): Accept "nonmain" argument. Pass it to call_handler.
|
|
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Change
|
|
debugging output slightly.
|
|
* (fhandler_tty_common::__release_output_mutex): Ditto.
|
|
(fhandler_tty_slave::read): Fix a comment, remove a goto.
|
|
* sigproc.cc (sig_send): Accept an optional frame pointer argument for
|
|
use when suspending the main process. sigcomplete_main is an autoreset
|
|
event now. Save frame pointer for non-main operation.
|
|
(wait_sig): Make sigcomplete_main an autoreset event. Eliminate
|
|
NOSIGQUEUE. Pass rc to sig_handle to signify if this was a nonmain
|
|
process.
|
|
* sigproc.h: Reflect change to sig_send argument.
|
|
* syscalls.cc (swab): Eliminate swab function since it is now available
|
|
in newlib.
|
|
* winsup.h (signal_dispatch): Change CONTEXT cx to DWORD ebp.
|
|
|
|
Tue Mar 7 13:31:10 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since
|
|
it didn't seem to affect the "bash hangs" problem.
|
|
|
|
Tue Mar 7 13:17:56 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mcount.c: Remove strace.h include.
|
|
|
|
Tue Mar 7 00:29:34 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Throughout use strace class in place of individual functions and
|
|
variables.
|
|
* cygwin.din: Eliminate _strace_wm.
|
|
* sigproc.cc (wait_sig): Temporarily add more debugging output.
|
|
* include/cygwin/version.h: Bump minor api to reflect export change.
|
|
|
|
Sun Mar 5 01:17:05 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (call_handler): Streamline to use only one call to
|
|
ResumeThread.
|
|
* sigproc.cc (sig_send): Use a muto around the ReleaseSemaphore.
|
|
Remove priority setting since it didn't solve anything.
|
|
|
|
Tue Feb 29 00:46:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (sig_send): Temporarily set priority to highest while
|
|
sending a signal.
|
|
|
|
Mon Feb 28 11:23:29 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* pinfo.cc (set_myself): Add build date to strace output.
|
|
|
|
Mon Feb 28 11:17:30 2000 Eric Fifer <EFifer@sanwaint.com>
|
|
|
|
* sigproc.cc (proc_subproc): Only clear wait event when not attending
|
|
to a signal.
|
|
|
|
Mon Feb 28 00:08:09 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* configure.in: Remove --enable-strace-hhmmss option.
|
|
* configure: Regenerate.
|
|
|
|
Sun Feb 27 23:11:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (set_os_type): Record OS name string.
|
|
(getprogname): Eliminate obsolete function.
|
|
(dll_crt0_1): Move initial strace initialization output to set_myself.
|
|
* exceptions.cc (interruptible): Add debugging output.
|
|
(interrupt_setup): New function.
|
|
(interrupt_now): Use interrupt_setup to set up common interrupt handler
|
|
stuff.
|
|
(interrupt_on_return): Ditto.
|
|
(call_handler): Move signal_arrived arm and clear threads to region
|
|
where signalled thread is suspended or suffer races.
|
|
* pinfo.cc (set_myself): Output interesting information when strace is
|
|
first initialized. Initialize progname here.
|
|
* sigproc.cc (sig_dispatch_pending): Modify to ensure that flush signal
|
|
are sent synchronously.
|
|
* strace.cc (strace_vsprintf): Move code into strace program.
|
|
* uname.cc (uname): Use 'osname' global to construct cygwin name +
|
|
Windows type + version.
|
|
|
|
Fri Feb 25 19:26:42 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Make a little more structured.
|
|
(call_handler): Allow signals to be sent even if signalled thread is
|
|
stopped. Change order of signal_arrived arming/waiting threads
|
|
clearing to eliminate a race.
|
|
(reset_signal_arrived): New helper function.
|
|
* malloc.cc (malloc_init): Use mutos so that signal handler can keep
|
|
track of who owns the lock.
|
|
(__malloc_lock): Ditto.
|
|
(__malloc_unlock): Ditto.
|
|
* sync.h (new_muto): Actually use a muto for the "buffer".
|
|
* Makefile.in: Fix a dependency.
|
|
|
|
2000-02-25 DJ Delorie <dj@cygnus.com>
|
|
|
|
* Makefile.in: fix "make check" support and cygrun.
|
|
|
|
Thu Feb 24 15:56:00 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* syscalls.c (_read): Clear errno before doing any read operation.
|
|
|
|
Thu Feb 24 14:45:06 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (call_handler): Use new muto linked list to look for
|
|
all potential mutos owned by suspended thread. Clear waiting threads
|
|
while thread is stopped.
|
|
(proc_subproc): Clarify debugging output.
|
|
* sync.h (class muto): Add 'next' field.
|
|
(new_muto): Keep linked list alive.
|
|
|
|
Thu Feb 24 00:59:15 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Fix final round of gcc warnings relating to unused parameters.
|
|
* debug.cc (iscygthread): New function.
|
|
* debug.h: Declare it.
|
|
* exceptions.cc (set_process_mask): Flush pending signals.
|
|
(handle_sigsuspend): No need to flush pending signals.
|
|
(call_handler): Refine previous tests of muto ownership. Only clear
|
|
wait()'s when we have definitely responded to a signal.
|
|
* fhandler_console.cc (fhandler_console::read): Don't set EINTR if
|
|
executing in a "cygwin" thread.
|
|
* sigproc.cc (proc_subproc): Use second argument to control whether
|
|
CLEARWAIT actually sets "signalled" flag.
|
|
* sync.h (muto): Add 'unstable' method.
|
|
|
|
Wed Feb 23 21:59:44 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* hinfo.cc (hinfo::extend): Clean up debugging output.
|
|
|
|
Wed Feb 23 21:34:58 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interruptible): Change method for determining if
|
|
something is interruptible.
|
|
(call_handler): Avoid suspending a thread if it owns a muto. Only set
|
|
signal_arrived if the thread was actually interrupted.
|
|
(events_init): Initialize module information needed by interruptible().
|
|
* init.cc (dll_entry): Record module handle of main for use by
|
|
interruptible().
|
|
(proc_subproc): Reorganize handling of terminated child so that the
|
|
bulk of the processing comes from the signal thread.
|
|
(wait_sig): Force processing of waiting threads if SIGCHLD is not
|
|
processed.
|
|
|
|
Tue Feb 22 23:06:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Respond to more g++ warnings relating to initializing structures.
|
|
|
|
Mon Feb 21 18:36:37 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* fhandler.cc (set_inheritance): Revert previous patch which got rid of
|
|
'name' parameter.
|
|
|
|
Mon Feb 21 00:19:40 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Respond to a multitude of new g++ warnings.
|
|
|
|
Sun Feb 20 22:10:21 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (getwinenv): Make __stdcall.
|
|
(winenv): Ditto.
|
|
* malloc.cc (strdup): New function. Occludes newlib version.
|
|
(_strdup_r): Ditto.
|
|
* winsup.h: Reflect above __stdcall changes.
|
|
|
|
Sun Feb 20 21:31:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_disk_file::fstat): Modify get_file_attribute
|
|
return value if FILE_ATTRIBUTE_READONLY is set.
|
|
|
|
Thu Feb 17 11:00:23 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* environ.cc (environ_init): Cosmetic change.
|
|
|
|
Mon Feb 7 16:50:44 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: cygrun needs libshell32.a.
|
|
|
|
Sun Feb 6 22:17:58 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sigproc.cc (proc_subproc): Simplify case for when a child process is
|
|
stopped since new signal handler ensures the desired behavior.
|
|
|
|
Sun Feb 6 21:52:33 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Fix install target so that directories will be created
|
|
when necessary.
|
|
|
|
Sun Feb 6 18:12:17 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: exceptions.cc should depend on autoload.h.
|
|
* exceptions.cc: Undef DECLSPEC_IMPORT prior to including imagehlp.h to
|
|
avoid defining StackWalk as "import".
|
|
(call_handler): Minor optimizations.
|
|
(sig_handle_tty_stop): Fix typo in previous checkin.
|
|
* sigproc.cc (sigproc_init): Ditto, for signal_arrived initialization.
|
|
|
|
Sat Feb 5 15:37:37 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (isquote): Convert to inline function.
|
|
|
|
Sat Feb 5 00:26:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Throughout, rename global_signal_arrived to signal_arrived.
|
|
Throughout, eliminate use of arm_signals and __signal_arrived.
|
|
Throughout, revert to use of simple call to WaitForSingleObject or
|
|
WaitForMultipleObjects.
|
|
* debug.h: Eliminate obsolete function declaration.
|
|
* exceptions.cc (sigWaitForSingleObject): Eliminate obsolete function
|
|
definition.
|
|
* fhandler.h: Reflect change to select_stuff wait method.
|
|
* fhandler_tape.cc (get_ll): Accomodate new w32api LARGE_INTEGER
|
|
definition.
|
|
* ntea.c (NTReadEARaw): Ditto.
|
|
(NTWriteEA): Ditto.
|
|
* security.cc (ReadSD): Ditto.
|
|
(WriteSD): Ditto.
|
|
* syscalls.cc (_link): Ditto.
|
|
* uname.cc (uname): Eliminate PPC switch.
|
|
|
|
2000-02-01 Salvador Eduardo Tropea <salvador@inti.gov.ar>
|
|
|
|
* include/io.h: add return type to setmode()
|
|
|
|
2000-01-27 DJ Delorie <dj@cygnus.com>
|
|
|
|
* include/netdb.h (h_errno): change __imp_ to dllimport
|
|
* cygwin.din (reent_data): add DATA
|
|
|
|
Thu Jan 27 01:07:14 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (call_handler): Add debugging output.
|
|
* select.cc (MAKEready): Arm signals earlier.
|
|
* sigproc.cc (__signal_arrived:arm): Move debugging version of this
|
|
method here.
|
|
(__signal_arrived::release): Ditto.
|
|
* sigproc.h: Recognize debugging versions of above two methods.
|
|
(arm_signals::WaitForMultipleObjects): Don't release signal lock unless
|
|
signal arrived.
|
|
(arm_signals::WaitForMultipleSingleObject): Ditto.
|
|
(arm_signals::MsgWaitForMultipleObjects): Ditto.
|
|
|
|
Thu Jan 27 00:19:26 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* sync.h (new_muto): Workaround change in gcc behavior.
|
|
|
|
Wed Jan 26 12:57:13 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Ensure that all required libraries are built prior
|
|
to linking cygrun.exe.
|
|
|
|
Tue Jan 25 21:26:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (sig_handle): Crudely work around potential problem
|
|
when main thread has a lock but is killed by a fatal signal.
|
|
* fhandler_tty.cc (fhandler_pty_master::write): Don't perform line
|
|
editing on the pty master (so why do we need the second argument to
|
|
line_edit, then?)
|
|
* thread.cc: Reformat to GNU standards.
|
|
|
|
2000-01-11 DJ Delorie <dj@cygnus.com>
|
|
|
|
* ROADMAP: new
|
|
|
|
2000-01-11 DJ Delorie <dj@cygnus.com>
|
|
|
|
* fhandler_zero.cc: new, emulate /dev/zero
|
|
* testsuite/winsup.api/devzero.c: new, test /dev/zero
|
|
* Makefile.in: build fhandler_zero.o
|
|
* fhandler.h: add support for /dev/zero
|
|
* hinfo.cc: ditto
|
|
* path.cc: ditto
|
|
|
|
2000-01-11 DJ Delorie <dj@cygnus.com>
|
|
|
|
* mmap.cc (mmap): MSDN says *one* of FILE_MAP_*, fix flags for
|
|
MAP_PRIVATE.
|
|
|
|
Mon Jan 10 01:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (acl_access): New function.
|
|
* syscalls.cc (access): Call acl_access if ntsec is on.
|
|
|
|
Mon Jan 10 01:11:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (get_file_owner): Use of ReadSD() instead of
|
|
GetFileSecurity().
|
|
(get_file_group): Ditto.
|
|
|
|
Sun Jan 9 15:43:07 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* debug.cc (struct thread_start): Add a flag to determine whether a
|
|
field is in use. Eliminate thread_start_ix since it was not
|
|
thread-safe.
|
|
(thread_stub): Use notavail flag to control whether the entry in
|
|
start_buf can be reused.
|
|
(makethread): Ditto.
|
|
|
|
Sun Jan 9 20:18:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (alloc_sd): Rearrange order of ACE creation.
|
|
(setacl): Optimize creation of ACEs related to inheritance. Code
|
|
cleanup.
|
|
(aclcheck): Disable check for existance of DEF_)CLASS_OBJ.
|
|
|
|
Sat Jan 8 18:42:32 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* mkvers.h: Reorg fix.
|
|
|
|
Sat Jan 8 20:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Add new acl API calls.
|
|
* grp.cc (getgroups): Change to work for any username.
|
|
* security.cc (get_id_from_sid): Change to work with acl API.
|
|
(is_grp_member): New function.
|
|
(get_nt_attribute): Rewritten.
|
|
(add_access_allowed_ace): New function.
|
|
(add_access_denied_ace): Ditto.
|
|
(alloc_sd): Rewritten.
|
|
(setacl): New function.
|
|
(getace): Ditto.
|
|
(searchace): Ditto.
|
|
(getacl): Ditto.
|
|
(acl): Ditto.
|
|
(facl): Ditto.
|
|
(aclcheck): Ditto.
|
|
(acecmp): Ditto.
|
|
(aclsort): Ditto.
|
|
(acltomode): Ditto.
|
|
(aclfrommode): Ditto.
|
|
(acltopbits): Ditto.
|
|
(aclfrompbits): Ditto.
|
|
(permtostr): Ditto.
|
|
(acltotext): Ditto.
|
|
(permfromstr): Ditto.
|
|
(aclfromtext): Ditto.
|
|
* syscalls.cc (access): Set errno again when needed.
|
|
* include/cygwin/acl.h: New file.
|
|
* include/sys/acl.h: Ditto.
|
|
|
|
Sat Jan 8 14:46:19 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* Makefile.in: Add cygwin DLL specific CFLAGS define.
|
|
|
|
Fri Jan 7 21:01:57 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* exceptions.cc (interrupt_on_return): Properly coerce assignment of
|
|
sigsave.func.
|
|
|
|
2000-01-07 Mumit Khan <khan@xraylith.wisc.edu>
|
|
|
|
* acconfig.h: New file.
|
|
* configure.in Add check for memset builtin.
|
|
(AC_CONFIG_HEADER): Use.
|
|
(STRACE_HHMMSS): Define instead of substituting.
|
|
(_MT_SAFE): Likewise.
|
|
(_CYG_THREAD_FAILSAFE): Likewise.
|
|
(DEBUGGING): Likewise.
|
|
(MT_SAFE): Substitute as a yes/no variable.
|
|
* Makefile.in: Remove DEBUGGING, STRACE_HHMMSS, and THREAD_FAILSAFE
|
|
variables and add DEFS. Update usage of MT_SAFE to reflect yes/no
|
|
values. Add config.h to winsup.h dependency.
|
|
(CFLAGS_CONFIG): Update.
|
|
(INCLUDES): Prepend `-I.'.
|
|
* utils/Makefile.in (INCLUDES): Likewise.
|
|
* winsup.h: Conditionally include config.h.
|
|
* thread.cc: Likewise.
|
|
* config.h.in: Generate new file.
|
|
* configure: Regenerate.
|
|
|
|
|
|
Fri Jan 7 16:21:01 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
* dcrt0.cc (dll_crt0): Allow signal handling for dynamically loaded
|
|
case.
|
|
|
|
Thu Jan 6 00:30:12 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_check_one): Initialize local variable `unixattr'
|
|
before calling `get_file_attribute'.
|
|
* syscalls.cc (chown): Ditto.
|
|
* security.cc (get_nt_attribute): Eliminate attribute copying from
|
|
world to user/group in case of missing ACEs.
|
|
(alloc_sd): Set special rights for administrators group only if it's
|
|
neither owner nor group.
|
|
* utils/mkpasswd.c: Create entry for local group administrators (SID
|
|
544).
|
|
|
|
Thu Jan 6 00:21:31 2000 Christopher Faylor <cgf@cygnus.com>
|
|
|
|
Change function calls to __stdcall throughout.
|
|
* exceptions.cc (handle_exceptions): Probe stack for return address to
|
|
use with new signal method. Fill out sigsave.cx with this information.
|
|
(call_handler): Use sigsave.cx if it is available, rather than trying
|
|
to find the context of the main thread.
|
|
(interrupt_on_return): Use address of context rather than
|
|
pass-by-reference.
|
|
(interrupt_now): Ditto.
|
|
|
|
Thu Jan 6 00:21:31 2000 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (getgroups): Return supplementary groups now.
|
|
* include/limits.h: Define NGROUP_MAX as 16 now.
|