summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/mmap.cc
Commit message (Collapse)AuthorAgeFilesLines
* * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_tCorinna Vinschen2003-04-011-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | throughout. * fhandler.cc: Ditto. * fhandler.h: Ditto. * fhandler_clipboard.cc: Ditto. * fhandler_disk_file.cc: Ditto. * fhandler_dsp.cc: Ditto. * fhandler_floppy.cc: Ditto. * fhandler_mem.cc: Ditto. * fhandler_proc.cc: Ditto. * fhandler_process.cc: Ditto. * fhandler_random.cc: Ditto. * fhandler_registry.cc: Ditto. * fhandler_tape.cc: Ditto. * fhandler_termios.cc: Ditto. * fhandler_virtual.cc: Ditto. * fhandler_zero.cc: Ditto. * mmap.cc: Ditto. * pipe.cc: Ditto. * syscalls.cc: Ditto. * winsup.h: Ditto. * include/cygwin/stat.h: Ditto. * include/cygwin/types.h: Ditto. Remove definition of __off32_t and __off64_t.
* whitespace cleanupChristopher Faylor2003-03-091-8/+8
|
* Do some minor reformatting of 'extern "C"' use throughout.Christopher Faylor2003-03-091-10/+5
| | | | | | | | | | | | | * autoload.cc (GetSystemTimes): Define new autoload function. * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries. (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS cases. (format_proc_uptime): Use GetSystemTimes if available. (read_value): New macro. (print): New macro. (cpuid): New function. (can_set_flag): New function. (format_proc_cpuinfo): New function. (format_proc_partitions): New function.
* * mmap.cc (mmap64): Fix returned address by taking the granularityCorinna Vinschen2003-02-251-1/+1
| | | | into account.
* * mmap.cc (mprotect): Add missing break.Corinna Vinschen2003-02-141-0/+1
|
* * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and lengthCorinna Vinschen2003-02-071-104/+104
| | | | | | | | | | | | | | | | parameter. Only protect pages actually unused currently. Do job of map_map() when initializing a map. (mmap_record::map_map): Reduce functionality for the reuse case of private anonymous mapping. (mmap_record::fixup_map): Format change. (list::add_record): Add offset and length parameter to call mmap_record::alloc_map() correctly. (mmap64): Rename `l' variable to `map_list'. Accomodate above changes. (munmap): Rename `l' variable to `map_list'. (msync): Ditto. (fhandler_disk_file::mmap): Streamline code. (mprotect): Ditto. (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
* * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list ofCorinna Vinschen2003-01-161-2/+4
| | | | | ReadProcessMemory() error codes that trigger a retry with temporary PAGE_READONLY access. Note that this can occur on NT 4.0.
* * autoload.cc: Fix copyright date.Corinna Vinschen2003-01-151-1/+1
| | | | | | | | | | | * fhandler_dsp.cc: Ditto. * mmap.cc: Ditto. * net.cc: Ditto. * ntdll.h: Ditto. * signal.cc: Ditto. * syscalls.cc: Ditto. * uname.cc: Ditto. * wait.cc: Ditto.
* * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.Corinna Vinschen2003-01-141-7/+15
| | | | Change ambiguous debug output.
* * mmap.cc (mmap_record::access): Change argument type to caddr_tCorinna Vinschen2003-01-141-6/+51
| | | | | | | | | for strictness. (mprotect): Protect against calling VirtualProtect() for shared pages on 9x/Me. (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to change protection of parent page to PAGE_READONLY, then try again. Revert protection afterwards.
* Change _function() to function() throughout.Christopher Faylor2002-10-211-5/+8
| | | | | | | | | | | | | | | | | | * cygwin.din: Remove last vestiges (?) of newlib wrappers. * cygthread.cc (cygthread::detach): Always wait for event or suffer an apparently inavoidable race. * dcrt0.cc (dll_crt0_1): Allocate threads after stack has been relocated. * debub.cc (lock_debug): Don't acquire lock on exit. * fork.cc (fork_child): Recreate mmaps before doing anything else since Windows has a habit of using blocks of memory in the child that could previously have been occupied by shared memory in the parent. * mmap.cc (fhandler_disk_file::fixup_mmap_after_fork): Issue error here and provide some details about what went wrong. (fixup_mmaps_after_fork): Remove error message. * shared.cc (open_shared): Move warning message so that more detail is possible. * sigproc.cc (sigproc_init): Initialize sync_proc_subproc to avoid a race. (sigproc_terminate): Specifically wait for process thread to terminate.
* * errno.cc (errmap): Map ERROR_INVALID_ADDRESS to new errno codeCorinna Vinschen2002-09-241-6/+4
| | | | | | | | EOVERFLOW. (_sys_errlist): Add entries for EILSEQ and EOVERFLOW. (strerror): Ditto. * mmap.cc (map_map): Set errno in case of error. (mmap64): Remove setting errno explicitely to ENOMEM.
* * mmap.cc (map_map): Add debug output.Corinna Vinschen2002-09-241-1/+2
| | | | (mmap64): Evaluate gran_len correctly even if offset isn't 0.
* More GNUify non-GNU formatted functions calls throughout.Christopher Faylor2002-09-231-6/+6
|
* * fhandler.cc (fhandler_base::dup): Don't set handle on failure. Caller hasChristopher Faylor2002-09-221-18/+18
| | | | | | | already taken care of that. * fhandler_console.cc (fhandler_console::open): Initialize handles to NULL. (fhandler_console::close): Ditto. GNUify non-GNU formatted functions calls throughout.
* * mmap.cc (list::match): Check using pagesize aligned size.Corinna Vinschen2002-06-271-4/+6
|
* Remove unneeded sigproc.h includes throughout.Christopher Faylor2002-06-021-1/+0
| | | | | | | | | | | | | * fhandler.h (fhandler_proc::fill_filebuf): Take a pinfo argument. * fhandler_proc.cc (fhandler_proc::get_proc_fhandler): Simplify search for given pid. (fhandler_proc::readdir): Assume that pid exists if it shows up in the winpid list. * fhandler_process.cc (fhandler_process::open): Simplify search for given pid. Call fill_filebuf with pinfo argument. (fhandler_process::fill_filebuf): Pass pinfo here and assume that it exists. * pinfo.h (pinfo::remember): Define differently if sigproc.h is not included. * dll_init.cc (dll_list::detach): Don't run destructor on exit.
* * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.Christopher Faylor2002-05-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (LoadFuncEx2): Adapted from LoadFuncEx. Provides control of return value for nonexistent function. (NtQueryObject): Declare. (IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if not available. * debug.h (being_debugged): Just rely on IsDebuggerPresent return value. * dtable.cc (handle_to_fn): New function. (dtable::init_std_file_from_handle): Attempt to derive std handle's name via handle_to_fn. (dtable::build_fhandler_from_name): Fill in what we can in path_conv structure when given a handle and path doesn't exist. * fhandler.cc (fhandler_base::open): Don't set the file pointer here. Use pc->exists () to determine if file exists rather than calling GetFileAttributes again. * fhandler.h (fhandler_base::exec_state_isknown): New method. (fhandler_base::fstat_helper): Add extra arguments to declaration. (fhandler_base::fstat_by_handle): Declare new method. (fhandler_base::fstat_by_name): Declare new method. * fhandler_disk_file (num_entries): Make __stdcall. (fhandler_base::fstat_by_handle): Define new method. (fhandler_base::fstat_by_name): Define new method. (fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate. (fhandler_disk_file::fstat_helper): Accept extra arguments for filling out stat structure. Move handle or name specific stuff to new methods above. (fhandler_disk_file::open): Use real_path->exists rather than calling GetFileAttributes again. * ntdll.h (FILE_NAME_INFORMATION): Define new structure. (OBJECT_INFORMATION_CLASS): Partially define new enum. (OBJECT_NAME_INFORMATION): Define new structure. (NtQueryInformationFile): New declaration. (NtQueryObject): New declaration. * path.cc (path_conv::fillin): Define new method. * path.h (path_conv::fillin): Declare new method. (path_conv::drive_thpe): Rename from 'get_drive_type'. (path_conv::volser): Declare new method. (path_conv::volname): Declare new method. (path_conv::root_dir): Declare new method. * syscalls.cc (fstat64): Send real path_conv to fstat as second argument.
* Remove unneeded sync.h, where appropriate, throughout. Remove unneeded heap.h,Christopher Faylor2002-05-251-1/+0
| | | | | | where appropriate, throughout. Remove unneeded exceptions.h, where appropriate, throughout. Remove unneeded perprocess.h, where appropriate, throughout.
* * dtable.cc (dtable::build_fhandler_from_name): Just pass posix path along toChristopher Faylor2002-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | set_name via return_and_clear_normalized_path. (dtable::build_fhandler): New method with const char * argument. (dtable::reset_unix_path_name): Eliminate. (dtable::dup_worker): Use correct build_fhandler method. * mmap.cc (mmap_record::alloc_fh): Ditto. * dtable.h (dtable::build_fhandler): New method. (dtable::reset_unix_path_name): Eliminate. * fhandler.cc (fhandler_base::set_name): Assume that unix_name has already been cmalloced. (fhandler_base::reset_unix_path_name): Eliminate. (fhandler_base::~fhandler_base): Coercion for cfree. * fhandler.h (fhandler_base::unix_path_name): Make const char *. (fhandler_base::win32_path_name): Ditto. (fhandler_base::reset_unix_path_name): Eliminate. * fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Accommodate const char *ness of win32_path_name. * fhandler_socket.cc (fhandler_socket::fstat): Accommodate new set_name requirements. * path.cc (path_conv::return_and_clear_normalized_path): New method. (path_conv::clear_normalized_path): Eliminate. (path_conv::~path_conv): Ditto. (path_conv::check): Accommodate new build_fhandler method. * path.h (path_conv::~path_conv): Eliminate. (path_conv::clear_normalized_path): Ditto. (path_conv::return_and_clear_normalized_path): Declare new method.
* * mmap.cc (mmap_record::map_map): Return -1 if VirtualProtect fails.Corinna Vinschen2002-03-131-4/+31
| | | | | | (list::erase): New method with no argument. Erase latest record added. (mmap64): Fail if map_map() fails.
* * mmap.cc (msync): Check area given by addr and len for being aCorinna Vinschen2002-03-111-4/+9
| | | | contigeous mmap'd region.
* * fork.cc (fork_child): Call fixup_mmaps_after_fork() beforeCorinna Vinschen2002-03-111-1/+25
| | | | | | | | | closing parent process handle. Call fixup_mmaps_after_fork() with parent process handle as parameter. * mmap.cc (mmap_record::access): New method. (fixup_mmaps_after_fork): Take process handle as parameter. In case of FILE_MAP_COPY access, copy valid memory regions to child. * pinfo.h (fixup_mmaps_after_fork): Change prototype accordingly.
* * cygwin.din (fstat64): New symbol.Corinna Vinschen2002-02-251-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ftruncate64): Ditto. (lseek64): Ditto. (lstat64): Ditto. (mmap64): Ditto. (seekdir64): Ditto. (stat64): Ditto. (telldir64): Ditto. (truncate64): Ditto. * dir.cc (telldir64): New function. (telldir): Call telldir64(). (seekdir64): New function. (seekdir): Call seekdir64(). * fhandler.h: Redefine all methods using __off32_t to use __off64_t. * fhandler.cc: Use __off64_t and struct __stat64 throughout. * fhandler_clipboard.cc: Ditto. * fhandler_disk_file.cc: Ditto. * fhandler_dsp.cc: Ditto. * fhandler_floppy.cc: Ditto. * fhandler_mem.cc: Ditto. * fhandler_random.cc: Ditto. * fhandler_socket.cc: Ditto. * fhandler_tape.cc: Ditto. * fhandler_zero.cc: Ditto. * pipe.cc: Ditto. * glob.c: Ditto, call lstat64 and stat64 in Cygwin. * mmap.cc: Use __off64_t throughout. (mmap64): New function. * sec_acl.cc (acl_worker): Use struct __stat64, call stat64 and lstat64. * syscalls.cc (lseek64): New function. (stat64_to_stat32): Ditto. (fstat64): Ditto. (stat64): Ditto. (lstat64): Ditto. (ftruncate64): Ditto. (truncate64): Ditto. (_fstat): Call fstat64. (_stat): Call stat64. (cygwin_lstat): Rename to avoid declaration problem. Call lstat64. (stat_worker): Use struct __stat64. (access): Ditto. (ftruncate): Call ftruncate64. (truncate): Call truncate64. * wincap.cc: Set flag has_64bit_file_access appropriately. * wincap.h: Add flag has_64bit_file_access. * winsup.h (ILLEGAL_SEEK): Define as __off64_t. (stat_dev): Declare using struct __stat64. (stat_worker): Ditto. * include/cygwin/stat.h (struct __stat32): Define if compiling Cygwin. (struct __stat64): Ditto. (struct stat): Revert definition with explicitly sized datatypes. Eliminate sized field names. * include/cygwin/types.h (blksize_t): New type. (__blkcnt32_t): Ditto. (__blkcnt64_t): Ditto. (blkcnt_t): Ditto.
* * sync.h (new_muto): Just accept an argument which denotes the name of theChristopher Faylor2002-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | muto. Use this argument to construct static storage. * cygheap.cc (cygheap_init): Reflect above change. * exceptions.cc (events_init): Ditto. * malloc.cc (malloc_init): Ditto. * path.cc (cwdstuff::init): Ditto. * cygheap.h (cwdstuff): Change name of lock element to make it less generic. * path.cc (cwdstuff::get_hash): Ditto. (cwdstuff::get_initial): Ditto. (cwdstuff::set): Ditto. (cwdstuff::get): Ditto. * sigproc.cc (proc_subproc): Ditto. * debug.cc (lock_debug): Change to method. Use method rather than macro throughout. * tty.h (tty_min::kill_pgrp): Declare new method. * fhandler_termios.cc (tty_min::kill_pgrp): New method. (fhandler_termios::line_edit): Use new method for killing process. * dcrt0.cc (do_exit): Ditto. * dtable.cc (dtable::get_debugger_info): New method for inheriting dtable info from a debugger. * tty.cc (tty_init): Attempt to grab file handle info from parent debugger, if appropriate. # dtable.cc (dtable::stdio_init): Make this a method. (dtable::init_std_file_from_handle): Don't set fd unless it's not open. (dtable::build_fhandler_from_name): Move name setting to dtable::build_fhandler. (dtable::build_fhandler): Add win32 name parameter. * dcrt0.cc (dll_crt0_1): Change to use dtable stdio_init. * dtable.h (dtable): Reflect build_fhandler parameter change. * mmap.cc (mmap_record::alloc_fh): Don't set name parameter in build_fhandler. * net.cc (fdsock): Remove set_name call since it is now handled by build_fhandler. * sigproc.cc (proc_subproc): Release muto as early as possible.
* * child_info.h, cygheap.h, fhandler_clipboard.cc, fhandler_dsp.cc,Corinna Vinschen2002-02-101-1/+1
| | | | | | | fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc, fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc, pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc, security.h, thread.h, uinfo.cc, include/cygwin/acl.h: Fix copyright.
* * (child_info.h, cygheap.h, dcrt0.cc, dir.cc, fhandler.cc, fhandler.h,Corinna Vinschen2002-02-101-8/+8
| | | | | | | | | | | | | | | | fhandler_clipboard.cc, fhandler_disk_file.cc, fhandler_dsp.cc, fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc, fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc, pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc, security.h, spawn.cc, syscalls.cc, thread.h, uinfo.cc, winsup.h): Change usage of uid_t to __uid16_t, gid_t to __gid16_t and off_t to __off32_t throughout. Use INVALID_UID, INVALID_GID and INVALID_SEEK instead casting -1 to the appropriate type. * winsup.h: Define INVALID_UID, INVALID_GID and INVALID_SEEK. * include/cygwin/acl.h: Define internal __aclent16_t and __aclent32_t types. Don't declare acl functions when compiling Cygwin. * include/cygwin/grp.h: Declare getgrgid() and getgrnam() with correct types for internal usage.
* * mmap.cc (mmap_record::find_empty): Add input parameter check.Corinna Vinschen2001-11-051-0/+2
|
* Eliminate excess whitespace.Christopher Faylor2001-11-051-1/+1
|
* * mmap.cc (mmap): Assign 'fh' from cygheap_fdget. Use 'fh' everywhere.Christopher Faylor2001-10-161-3/+4
|
* * fhandler.cc (fhandler_base::fork_fixup): Don't protect handle.Christopher Faylor2001-10-151-5/+4
| | | | | | | | | | | | | | | | | | | * dlfcn.cc: Fix to confirm to coding standards. Reorganize includes throughout to accomodate new cygheap.h usage. * cygheap.h (cygheap_fdmanip): New class: simplifies locking and retrieval of fds from cygheap->fdtab. (cygheap_fdget): Ditto. (cygheap_fdnew): Ditto. * fcntl.cc (_fcntl): Use new method to lock fdtab and retrieve info. * ioctl.cc (ioctl): Ditto. * mmap.cc (mmap): Ditto. * net.cc: Ditto, throughout. * passwd.cc (getpass): Ditto. * path.cc (fchdir): Ditto. * pipe.cc (make_pipe): Ditto. * sec_acl.cc (facl): Ditto. * syscalls.cc: Ditto, throughout. * termios.cc: Ditto, throughout.
* * fhandler_dsp.cc (fhandler_dsp::ioctl): Return 0 for successfulChristopher Faylor2001-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | SNDCTL_DSP_GETBLKSIZE operation. Remove obsolete 'name' arg from fhandler_* constructors throughout. * winsup.h (winsock_active): New macro. (winsock2_active): Ditto. * autoload.cc (wsock_init): Use new macros to decide if winsock or winsock2 is loaded. (nonexist_wsock32): Dummy function to force winsock load. (nonexist_ws2_32): Dummy function to force winsock2 load. * fhandler.h (fhandler_socket::fstat): Declare new method. Currently unused. * fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Check that winsock2 is active before trying WSADuplicateSocketA. (fhandler_socket::fixup_after_fork): Add extra check for winsock2_active. Otherwise use iffy procedures for Windows 95. (fhandler_socket::fixup_after_exec): Add debugging. (fhandler_socket::dup): Add debugging. (fhandler_socket::fstat): New method. (fhandler_socket::set_close_on_exec): Attempt to perform iffy stuff on Windows 95. * errno.cc (_sys_nerr): Work around compiler strangeness. * pinfo.cc (winpids::add): Add extra element at end of allocated array for setting to NULL. (winpids::enumNT): Ditto. (winpids::init): Don't modify pidlist if it hasn't been allocated (possibly due to malloc problem).
* Add "path.h" include throughout, where needed. Use new path_conv methods andChristopher Faylor2001-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | operators to simplify testing for directory and attributes, throughout. * path.h (path_conv::exists): New method. (path_conv::has_attribute): Ditto. (path_conv::isdir): Ditto. (path_conv::DWORD &): New operator. (path_conv::int &): Ditto. * dir.cc (rmdir): Eliminate a goto. * dtable.cc (dtable::build_fhandler): Accept opt and suffix info for path_conv.check. Return fh == NULL on path_conv error. Pass unit to set_name as appropriate. (dtable::reset_unix_path_name): New method. * dtable.h (dtable): Declare new method. Reflect arg changes to build_fhandler. * fhandler.cc (fhandler_disk_dummy_name): Eliminate. (fhandler_base::set_name): Expect paths to be NULL. Build unix_path_name from win32_path_name when it is a device. (fhandler_base::reset_unix_path_name): New method. (fhandler_base::raw_read): Report EISDIR when ERROR_INVALID_FUNCTION or ERROR_INVALID_PARAMETER and reading a directory. (fhandler_disk_file::fstat): Don't call stat_dev since we should now never be calling fhandler_disk_file methods with devices. (fhandler_base::fhandler_base): Clear {unix,win32}_path_name. (fhandler_base::~fhandler_base): Always free {unix,win32}_path_name. (fhandler_disk_file::fhandler_disk_file): Remove set_no_free_names kludge. (fhandler_disk_file::open): Ditto. * fhandler.h (fhandler_base::no_free_names): Eliminate. (fhandler_base::set_no_free_names): Ditto. * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Don't set unix_path_name here. * path.cc (fchdir): Lock fd table throughout. Use new dtable::reset_unix_path_name method to reset path. * syscalls.cc (stat_worker): Reorganize to always call fstat method. Pass path_conv method to fhandler_*::open. (chroot): Elminate a goto.
* * mmap.cc (mmap): Move setting the access after evaluating fd.Corinna Vinschen2001-09-271-24/+17
| | | | | | | | Remove useless comment. Explain copy-on-write problem of 9x more detailed. Don't set access to FILE_MAP_COPY on 9x only when anonymous mapping is requested. (fhandler_disk_file::mmap): Remove useless device check. Add debug output.
* * mmap.cc (mmap): Don't reuse anonymous memory in MAP_FIXED case.Corinna Vinschen2001-09-181-1/+1
|
* * Makefile.in: Build wincap.o.Corinna Vinschen2001-09-121-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * wincap.cc: New file. * wincap.h: Ditto. * autoload.cc: Add dynamic load statement for `CreateHardLinkA'. * dcrt0.cc (os_being_run): Eliminated. (osname): Ditto. (iswinnt): Ditto. (set_os_type): Ditto. (dll_crt0_1): Call wincap.init() instead of set_os_type(). (_dll_crt0): Ditto. * environ.cc (set_chunksize): New function. (parse_thing): `forkchunk' setting now invokes function `set_chunksize'. * fork.cc (chunksize): Eliminated. Moved to be member of wincap. * host_dependent.h: Removed. * syscalls.cc (_link): Try using `CreateHardLinkA' first, if available. * cygheap.cc, dcrt0.cc, delqueue.cc, dir.cc, environ.cc, fhandler.cc, fhandler.h, fhandler_console.cc, fhandler_mem.cc, fork.cc, mmap.cc, net.cc, pinfo.cc, pinfo.h, security.cc, syscalls.cc, sysconf.cc, syslog.cc, thread.cc, times.cc, tty.cc, uinfo.cc, uname.cc, winsup.h: Use new wincap capability check throughout. * winsup.h: Include wincap.h. Eliminate extern declarations of `os_being_run' and `iswinnt'. Eliminate `os_type" definition. * include/cygwin/version.h: Bump version to 1.3.4.
* Update copyrights.Christopher Faylor2001-09-111-1/+1
|
* * child_info.h: Modify magic number.Christopher Faylor2001-09-031-47/+47
| | | | | | | | | * dcrt0.cc (_cygwin_testing): Define. (_dll_crt0): Set _cygwin_testing if CYGWIN_TESTING environment variable exists. Don't issue "conflicting versions" error if _cygwin_testing is true. * shared.cc (shared_name): Use _cygwin_testing global rather than testing the environment. * syscalls.cc (_write): Remove debugging info.
* Throughout, change check for running under Windows NT to 'iswinnt'.Christopher Faylor2001-08-041-8/+8
| | | | | | | | | | | | | * dcrt0.cc (set_os_type): Set 'iswinnt' appropriately. * cygheap.cc (init_cheap): Revert to using VirtualAlloc for allocating cygheap. (cygheap_setup_for_child_cleanup): New function. Standard function to call after calling CreateProcess to cleanup cygheap info passed to child. (cygheap_fixup_in_child): Copy cygheap from shared memory into allocated space under Windows 9x or if can't relocate shared space under NT. * cygheap.h: Declare new function. * spawn.cc (spawn_guts): Use cygheap_fixup_in_child. * fork.cc (fork_parent): Ditto. * winsup.h: Declare iswinnt.
* Throughout, reorganize header file inclusion to put security.h prior toChristopher Faylor2001-07-261-1/+1
| | | | | | | | fhandler.h. * fhandler.h (fhandler_base::get_inheritance): New method. * fhandler_socket.cc (fhandler_socket::create_secret_event): Use proper close-on-exec inheritance when creating. (fhandler_socket::check_peer_secret_event): Create handle as non-inheritable.
* * mmap.cc (fhandler_disk_file::mmap): Try to open file mappingsCorinna Vinschen2001-07-101-7/+27
| | | | | by a unified name when running under 9x/ME. If that failes, create the file mapping using the unified name.
* * mmap.cc: Clean up *ResourceLock calls throughout.Christopher Faylor2001-06-261-15/+15
| | | | | | | * thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well as WAIT_ABANDONED. (__pthread_cond_timedwait): Calculate a relative wait from the abstime parameter.
* * mmap.cc (mmap): Drop usage of the same memory area if the sameCorinna Vinschen2001-04-191-3/+3
| | | | region of the same file is mapped twice.
* Throughout, change fdtab references to cygheap->fdtab.Christopher Faylor2001-04-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | * child_info.h (cygheap_exec_info): Eliminate special fdtab stuff. * spawn.cc (spawn_guts): Ditto. * cygheap.cc (cygheap_init): Initialize fdtab, if appropriate. * cygheap.h (CYGHEAPSIZE): Include size of init_cygheap. (_cmalloc_entry): Include fdtab here. * dtable.h (dtable): Declare/define new methods. * dtable.cc (dtable::vfork_child_fixup): New method. (dtable::fixup_after_exec): Remove unneeded extra arguments. * dcrt0.cc (dll_crt0_1): Ditto. * environ.cc (getwinenv): Use case sensitive comparison. (winenv): Make a copy of environment cache to avoid realloc problems when duplicate environment variables exist in the environment. (From Egor Duda) * net.cc (cygwin_socket): Revert Apr 14 change. * include/sys/file.h: Protect against previous X_OK definition. * passwd.cc: Eliminate passwd_sem throughout. * security.cc: Ditto. * cygwin.din: Export New functions. * passwd.cc (read_etc_passwd): Make race safe. (getpwuid_r): New function. (getpwnam_r): New function.
* * mmap.cc: Move fh_paging_file from some functions to beCorinna Vinschen2001-04-161-40/+57
| | | | | | | | | | | | | | a global static variable. (class mmap_record): Add `devtype_' member to remember the device type of the file. Add declaration for methods `get_device', `alloc_fh' and `free_fh'. (mmap_record::mmap_record): Initialize `devtype_' correctly. (mmap_record::alloc_fh): New method. (mmap_record::free_fh): Ditto. (munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh methods to create a correct fhandler. (msync): Ditto. (fixup_mmaps_after_fork): Ditto.
* * mmap.cc (mmap): Fix conditional for previous patch.Corinna Vinschen2001-03-271-1/+1
|
* * mmap.cc (mmap): Outflank copy-on-write problem on 9x byCorinna Vinschen2001-03-261-1/+4
| | | | setting access mode to FILE_MAP_READ when read access is requested.
* * mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' whenCorinna Vinschen2001-03-191-1/+1
| | | | file descriptor is -1.
* * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.Corinna Vinschen2001-02-231-2/+2
| | | | * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
* * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHAREDCorinna Vinschen2001-02-081-2/+3
| | | | and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.