Sun Jan 28 19:40:40 2001 Christopher Faylor * syscalls.cc (_link): Make sure that newpath does not exist. Set errno if it does. Sun Jan 28 19:29:08 2001 Christopher Faylor * cygheap.cc (init_cheap): Don't specify a load address for the heap. It doesn't work on #!*& Windows 9x. (cygheap_init): Move GetUserName to memory_init. * dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call to heap_init. * heap.cc (heap_init): Improve error output. * heap.h: Correct some declarations. * shared.cc (mount_table_init): Remove. (memory_init): Renamed from shared_init. Reorganize to accomodate strange Windows 9x problems with cygheap/heap interaction. * shared_info.h: Rename shared_init to memory_init. Sun Jan 28 01:25:33 2001 Christopher Faylor * include/cygwin/version.h: Bump API version. Sun Jan 28 01:18:22 2001 Christopher Faylor * cygheap.cc (init_cheap): Move username initialization. (cygheap_init): Here. * shared_info.h (mount_info): Add a sys_mount_table_counter field. (shared_info): Ditto. * path.cc (mount_info::conv_to_win32_path): Check that our mount table is in sync with the system mount table and reinitialize it if not. (mount_info::add_reg_mount): Bump sys_mount_table counters if the system mount table changes. (mount_info::del_reg_mount): Ditto. (mount_info::write_cygdrive_info_to_registry): Ditto. (mount_info::remove_cygdrive_info_from_registry): Ditto. Sun Jan 28 00:28:30 2001 Christopher Faylor Throughout, change 'cygwin_shared.mount' to 'mount_table'. * child_info.h (child_info): Move shared_h, console_h to cygheap. Add mount_h. * cygheap.h (init_cygheap): Add shared_h, console_h. * cygheap.cc (init_cheap): Initialize heap at a fixed location after the shared memory regions. Initialize cygheap->user name here. * dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants. Remove cygheap_init since it is done in shared_init now. (_dll_crt0): Initialize mount_h, remove shared_h and console_h initialization. * fhandler_console.cc (console_shared_h): Eliminate. (get_tty_stuff): Use cygheap->console_h rather than console_shared_h. * heap.cc (heap_init): Use page size constant calculated earlier in initialization. * shared.cc: Eliminate cygwin_shared_h. Add cygwin_mount_h. (mount_table_init): New function for initializing a user mount table. (open_shared_file_map): Use constant for shared memory region. Initialize cygheap and mount table here. (open_shared): Improve debugging output. (shared_info::initialize): Eliminate call to mount.init. (shared_terminate): Use cygheap->shared_h. Close cygwin_mount_h. (open_shared_file_map): Eliminate. * shared_info.h (mount_info): Add a version field. (shared_align_past): New macro for calculating location for shared memory regions. * sigproc.cc (init_child_info): Eliminate shared_h, console_h. * spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different user. * syscalls.cc (system_info): New global holding system memory defaults. (getpagesize): Use system_info. * uinfo.cc (internal_getlogin): Only fill in user name if nonexistent. * winsup.h: Declare system_info. * passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than retrieving the name again. Sat Jan 27 10:18:02 2001 Christopher Faylor * path.cc (path_conv::check): Detect when path has symlinks. (symlink_info::check): Remove debugging stuff. (chdir): Use posix'ized win32 path if cd'ed to a path using symlinks. Fri Jan 26 21:20:28 2001 Christopher Faylor * exceptions.cc (sigreturn): Call any pending signals prior to resetting the signal mask so that stacked signals behave correctly. (sigdelayed): Avoid a race where a signal could end up calling an incorrect signal handler if two signals come in close together. Tue Jan 23 21:56:00 2001 Corinna Vinschen * mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with len != 0 only when performing an anonymous mapping. Mon Jan 22 15:35:28 2001 Christopher Faylor * path.h: Add a new constant. * syscalls.cc (_read): Oscillate errno check. Mon Jan 22 15:27:12 2001 Christopher Faylor * include/cygwin/version.h: Bump API to reflect setlogmask. Sun Jan 21 22:40:25 2001 Jason Tishler * cygwin.din: Add export for setlogmask(). * syslog.cc (setlogmask): New function. Thu Jan 18 10:27:00 2001 Corinna Vinschen * resource.cc (setrlimit): Support RLIMIT_NOFILE. Wed Jan 17 23:23:12 2001 Christopher Faylor * syscalls.cc (setdtablesize): Call with amount to increment not total amount. Return success or failure error code. Wed Jan 17 09:47:13 2001 Christopher Faylor * autoload.cc (LoadDLLinitfunc): Remove debugging statement. * exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to earlier in interrupt. ((interrupt_setup): i.e., here. (sig_handle): Don't queue multiple SIGSTOPS. * fhandler.h (bg_check_types): Enumerate return value of bg_check for clarity. * signal.cc (kill_pgrp): Minor cleanup. * fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type for function return. Don't raise signal if a signal is already queued. * fhandler_console.cc (fhandler_console::read): Use enumerated return type for bg_check. * select.cc: Ditto, throughout. * read.cc: Ditto, throughout. * termios.cc: Ditto, throughout. (_read): YA interrupt detect simplification. * wait.cc (wait4): Ditto. Wed Jan 17 10:56:00 2001 Corinna Vinschen * cygheap.cc (cygheap_user::~cygheap_user): Temporarily disable free'ing memory. Tue Jan 16 18:01:00 2001 Corinna Vinschen * mmap.cc (mmap): Initialize fh to avoid compiler warnings. Mon Jan 15 21:07:00 2001 Christopher Faylor * wait.cc (wait4): Rename variable for consistency. Allow restartable signal behavior. Mon Jan 15 23:15:00 2001 Corinna Vinschen * mmap.cc (mmap): Add more parameter checking. Change error output in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS. Mon Jan 15 20:34:00 2001 Corinna Vinschen * mmap.cc: include . Define some bit operations for the new page map. (mmap_record): Change type of base_address_ to caddr_t. Add map_map_ member. Add several methods to manipulate map_map_. (mmap_record::alloc_map): New method. (mmap_record::free_map): Ditto. (mmap_record::find_empty): Ditto. (mmap_record::map_map): Ditto. (mmap_record::unmap_map): Ditto. (list::add_record): Change return type to `mmap_record *'. Allocate page map. (list::match): New method. (mmap): Partly rewritten to take care for the new page map. Add some parameter checking. (munmap): Ditto. Mon Jan 15 13:50:00 2001 Corinna Vinschen * heap.cc (heap_init): Fix extern declaration of getpagesize. * syscalls.cc (getpagesize): Fix another typo. Mon Jan 15 12:48:00 2001 Corinna Vinschen * syscalls.cc (getpagesize): Save pagesize in global variable to avoid calling GetSystemInfo too often. * heap.cc (getpagesize): Eliminate. (heap_init): Use getpagesize function from syscalls.cc. Mon Jan 15 11:56:00 2001 Corinna Vinschen * sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE request to avoid implementing the same twice. Sun Jan 14 14:07:50 2001 Christopher Faylor * syscalls.cc (_read): Use more lightweight method for determining if read has been interrupted by a signal. Fri Jan 12 00:35:15 2001 Christopher Faylor * debug.h: Add regparm attributes to some functions. * signal.cc (sigaction): Don't treat SIGCONT specially. * exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal for later use. (sig_handler): Default any stopping signal to SIGSTOP. (call_signal_handler): New function. (sigdelayed0): New function. * sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special behavior. * sigproc.h: Define call_signal_handler. * syscalls.cc (_read): Allow restartable signal behavior. Thu Jan 11 13:17:00 2001 Corinna Vinschen * fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'. (fhandler_disk_file: Ditto. (fhandler_dev_mem): Ditto. * fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute for device\physicalmemory handle. (fhandler_dev_mem::mmap): Ditto. * fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New method. * mmap.cc (mmap_record): Add private `fdesc_' member. Change constructor accordingly. (get_fd): New method. (mmap): Use new mmap_record constructor. (fhandler_base::fixup_mmap_after_fork): New method. (fhandler_disk_file::fixup_mmap_after_fork): Ditto. (fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate fhandler class. Wed Jan 10 22:08:30 2001 Kazuhiro Fujieda * sigproc.cc (wait_sig): Allow SIGCONT when stopped. Tue Jan 9 16:55:00 2001 Corinna Vinschen Patch suggested by René Møller Fonseca * include/sys/socket.h: Change prototype to have 2nd parameter `const'. * net.cc (cygwin_bind): Change 2nd parameter to `const'. Sun Jan 7 22:59:37 2001 Christopher Faylor * pinfo.cc (codepage_init): Move function. * environ.cc (codepage_init): To here. * exceptoins.cc (SIG_NONMASKABLE): Remove SIGCONT from consideration since it is supposed to be maskable. * signal.cc (sigaction): Ditto. * sigproc.cc (wait_sig): Ditto. * winsup.h: Eliminate global declaration of codepage_init. Thu Jan 5 9:33:00 2001 Corinna Vinschen * resource.cc (getrlimit): Set errno on EFAULT instead of returning it. (setrlimit): Ditto. Thu Jan 5 3:38:00 2001 David Sainty * resource.cc (setrlimit): Prevent failing with an error when the operation would not have changed anything. Thu Jan 4 10:29:54 2001 Earnie Boyd * thread.cc: Need LONG_MAX definition. Wed Jan 3 13:47:23 2001 Christopher Faylor * thread.cc (MTinterface::CreateSemaphore): Correctly set semaphore max. Wed Jan 3 09:44:51 2001 Christopher Faylor * fhandler_console.cc (fhandler_console::read): Restore missing test for code page before doing OemToCharBuff. Wed Jan 3 09:20:20 2001 Jason Tishler * include/cygwin/version.h: Fix typo in CYGWIN_VERSION_DLL_COMBINED macro.