summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
* * environ.cc (environ_init): Don't free the new environment table after we'veChristopher Faylor2000-09-032-1/+8
| | | | just copied stuff to it.
* * Makefile.in: Add cygheap.o.Christopher Faylor2000-09-0344-1880/+2211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * Makefile.in: Add new goal "check"Christopher Faylor2000-09-034-6/+15
| | | | | * configure.in: When doing native build do configure in testsuite subdirectory * configure: Regenerate.
* * Makefile.in: Remove "make check" support. It is now in winsup/Makefile.in.Christopher Faylor2000-09-032-56/+6
|
* Importing Egor's testsuite.Christopher Faylor2000-09-0399-5/+26942
|
* Importing Egor's testsuite.Christopher Faylor2000-09-0331-0/+6749
|
* Remove everythingChristopher Faylor2000-09-033-9/+0
|
* Remove READMEChristopher Faylor2000-09-031-42/+0
|
* remove everything and move it up a level.Christopher Faylor2000-09-035-804/+0
|
* * sigproc.cc (mychild): New function.Christopher Faylor2000-09-022-7/+25
| | | | | (proc_subproc): Use mychild() to determine if a specific pid is valid for wait()ing.
* * sigproc.cc (sigproc_init): Create wait_sig_inited without auto-reset to avoidChristopher Faylor2000-09-012-2/+8
| | | | | potential races. (init_child_info): Avoid unneeded test.
* * sigproc.cc (proc_info): Rename proc_exists which takes a pid to "pid_exists".Christopher Faylor2000-09-019-56/+81
| | | | | | * shared.h: Split out "child_info" stuff into a new header file and use where necessary. Declare pid_exists. * child_info.h: New file.
* * Makefile.in: More normalization.Christopher Faylor2000-09-012-4/+7
|
* * Makefile.in: Normalize 'pwd' based on location of winsup.Christopher Faylor2000-08-312-2/+7
|
* * errno.cc (set_errno_from_win_error): Actually use arguments to strace_printf.Christopher Faylor2000-08-312-6/+11
|
* * times.cc (gettimeofday): use GetSystemTimeAsFileTime to avoid aDJ Delorie2000-08-302-7/+11
| | | | | | conversion (FACTOR): correct value (genf): set milliseconds to zero, DOW to 4.
* * grp.cc (getgroups): fail with EINVAL if array is not largeDJ Delorie2000-08-292-5/+15
| | | | enough to hold all supplementary group IDs.
* * signal.cc (_raise): New function.Christopher Faylor2000-08-295-14/+25
| | | | | | | | * 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.
* * kill.c (main): Avoid skipping next argument when a signal number isChristopher Faylor2000-08-293-2/+10
| | | | | specified. * Makefile.in: Always clean dumper.exe.
* * pinfo.h (pinfo): Un-inline release.Christopher Faylor2000-08-264-32/+44
| | | | | | * 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.
* * dcrt0.cc (dll_crt0_1): Move set_os_type.Christopher Faylor2000-08-267-68/+74
| | | | | | | | | | | (_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.
* * exec.cc (_execve): Change definition according to declaration inCorinna Vinschen2000-08-252-2/+7
| | | | newlib/libc/include/sys/unistd.h.
* * Makefile.in: Only build dumper.exe when all of its library and includeChristopher Faylor2000-08-252-8/+29
| | | | dependencies are available.
* Add entry "How do I uninstall Cygwin?"David Starks-Browning2000-08-251-0/+22
|
* * Makefile.in: Make failure to build dumper.exe a non-error.Christopher Faylor2000-08-252-2/+6
|
* minor formatting fixesDavid Starks-Browning2000-08-252-3/+2
|
* Major re-write of "Installation using the setup.exe program".David Starks-Browning2000-08-251-210/+112
|
* Minor changes.David Starks-Browning2000-08-252-5/+8
|
* * external.cc (cygwin_internal): Add CW_INIT_EXCEPTIONS to allow cygwinChristopher Faylor2000-08-255-7/+23
| | | | | | | 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.
* * ps.cc (main): Always print a cygwin process using cygwin paths.Christopher Faylor2000-08-252-2/+6
|
* * ps.cc (main): Always print a cygwin process using cygwin paths.Christopher Faylor2000-08-241-0/+4
|
* * select.cc (cygwin_select): Correct logic for "always_ready" fds or when thereChristopher Faylor2000-08-243-10/+18
| | | | | is no wait specified. * syslog.cc (pass_handler::set_message): Zero the buffer prior to setting it.
* Change attribution.Christopher Faylor2000-08-242-2/+2
|
* * Makefile.common: Add bupdir2 to reference above the i686-pc-cygwin directory.Christopher Faylor2000-08-242-2/+13
|
* * Makefile.in: Add dumper.exe target and associated mechanisms for building it.Christopher Faylor2000-08-248-3/+1120
| | | | | | | * dumper.cc: New file. * dumper.h: New file. * module_info.cc: New file. * parse_pe.cc: New file.
* * include/cygwin/core_dump.h: New file, contains structures used in cygwin coreChristopher Faylor2000-08-243-0/+91
| | | | | | core files. * include/sys/procfs.h: New file, needed to autoconfigure cygwin core dumps support in bfd.
* * environ.cc (parse_thing): nobinmode should force O_TEXT.Christopher Faylor2000-08-244-5/+18
| | | | | | | | (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.
* * include/sys/cygwin.h (strace_printf_wrap): Force printing whenChristopher Faylor2000-08-242-2/+8
| | | | | _STRACE_SYSTEM. (strace_printf_wrap1): Ditto.
* * debug.h: Allow some debug defines for use in header files.Christopher Faylor2000-08-242-1/+6
|
* * dcrt0.cc (dll_crt0_1): Move exception list and constructor stuff earlier inChristopher Faylor2000-08-247-24/+81
| | | | | | | | | | | | | | 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.
* Revert previous erroneous checkin.Christopher Faylor2000-08-236-36/+12
|
* * include/sys/cygwin.h: Protect class definitions.Christopher Faylor2000-08-238-12/+42
|
* * path.cc (symlink_info::check): Clear error on each iteration of extensionChristopher Faylor2000-08-222-1/+7
| | | | check.
* * Makefile.in: Don't include '.d' file if there are none generated yet.Christopher Faylor2000-08-222-3/+9
|
* * include/sys/cygwin.h: Declare some thread classes.Christopher Faylor2000-08-223-0/+10
| | | | * include/mntent.h: Avoid declaring functions.
* * winsup.h: Eliminate inclusion of most of the cygwin .h files. Use .h filesChristopher Faylor2000-08-2263-209/+281
| | | | | only in sources which require them. * Makefile.in: Generate dependencies with -MD option.
* * cygerrno.h: New file. Use this throughout whenever errno manipulation isChristopher Faylor2000-08-2245-133/+203
| | | | | | | | | | | | | | | 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. * path.cc (normalize_posix_path): Correct check for trailing /.
* Update copyright.Christopher Faylor2000-08-211-3/+3
|
* * include/cygwin/cygwin_dll.h (DECLARE_CYGWIN_DLL): hinstance,DJ Delorie2000-08-212-6/+6
| | | | not handle. (reverse of previous diff)
* * include/cygwin/cygwin_dll.h (DECLARE_CYGWIN_DLL): handle,DJ Delorie2000-08-212-1/+6
| | | | not hinstance.