summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
...
* * strace.h: Add kludgy workarounds to avoid using deprecated methods forChristopher Faylor2000-08-025-125/+139
| | | | | | | | | | 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.
* * passwd.c (main): Initialize oldpwd before beeing used.Corinna Vinschen2000-07-312-0/+5
|
* * fhandler_console.cc: Remove VK_DIVIDE detection.Christopher Faylor2000-07-303-12/+19
| | | | | | | (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.
* * fhandler_console.cc: Add VK_DIVIDE detection. Return virtual keycode if itChristopher Faylor2000-07-292-0/+14
| | | | is not detected and it is less than ' '.
* * path.cc (chdir): Avoid trailing dot calculation when chdir == '/' or we endChristopher Faylor2000-07-292-1/+6
| | | | up with an empty string.
* * kill.cc (main): Add '-f' option to force termination of a process.Christopher Faylor2000-07-293-36/+244
| | | | | | | | | (forcekill): New function. * ps.cc (main): Add '-W' option to list Windows pids as well as Cygwin pids. (dummyprocessmodules): New function. (GetModuleFileNameEx95): New function. (init_win): New function. (to_time_t): New function.
* * include/cygwin/version.h: Bump DLL minor version number to 5 due to all ofChristopher Faylor2000-07-2929-633/+761
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the changes below. 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. * include/cygwin/version.h: Update minor version for cygdrive changes below.
* * environ.cc (parse_thing): Make binmode a DWORD.Christopher Faylor2000-07-294-5/+10
| | | | | | * hinfo.cc (hinfo::init_std_file_from_handle): Use 'binmode' to determine default open mode. * winsup.h: Declare binmode.
* * include/cygwin/cygwin_dll.h: Update for modern compilers.Christopher Faylor2000-07-293-6/+10
| | | | | | | * 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.
* Minor formatting change.Christopher Faylor2000-07-282-2/+2
|
* Fix typo.Christopher Faylor2000-07-281-1/+1
|
* * utils/mount.cc (main): Add --show-cygdrive-prefixes option.Christopher Faylor2000-07-283-2/+57
| | | | | | | (show_cygdrive_prefixes): New function. * utils/umount.cc (main): Add --remove-cygdrive-prefix option. (error): Change signature from 'char *' to 'const char *'. (remove_cygdrive_prefix): New function.
* * dcrt0.cc (dummy_autoload): Add load statement for RegDeleteValueA.Christopher Faylor2000-07-287-12/+155
| | | | | | | | | | | | | | | | | * 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.
* * include/cygwin/version.h: Bump DLL minor version number to 4.Christopher Faylor2000-07-282-1/+5
|
* Remove obsolete entries:David Starks-Browning2000-07-271-97/+41
| | | | | | | | | | | | | | | | | - 'Why is gcc failing' - 'Why can't bison find bison.simple or bison.hairy?' Remove disclaimer from up-to-date entries (possibly with some minor changes): - 'How is fork() implemented?' - 'How do symbolic links work?' - 'How do I compile a Win32 executable that doesn't use Cygwin?' - 'How do I make the console window go away?' - 'Why does make complain about a "missing separator"?' - 'Why can't we redistribute Microsoft's Win32 headers?' - 'How can I debug what's going on?' - 'Can I use a system trace mechanism instead?' - 'Can I use the gdb debugger to debug programs built by VC++?' - 'Where can I find info on x86 assembly?' - 'Why not use DJGPP?'
* Entry 'How do anti-virus programs like Cygwin?': Remove disclaimer; hangingDavid Starks-Browning2000-07-271-4/+7
| | | | when unpacking tar.gz archives.
* Entry 'How should I set my PATH?': Don't omit Windows system directories.David Starks-Browning2000-07-271-1/+2
|
* Added missing ChangeLog entry.Corinna Vinschen2000-07-271-0/+5
|
* * testsuite/winsup.api/winsup.exp: ignore stdout by defaultDJ Delorie2000-07-2719-4/+75
| | | | | | | | | | | | | | | | | | | * 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 * include/windows.h: optimize non-inclusion of repeat headers
* * fhandler.cc (fhandler_disk_file::fstat): Allow block calculation to succeedChristopher Faylor2000-07-272-1/+6
| | | | for files >= 2GB and <= 4GB.
* fix typo.Christopher Faylor2000-07-271-1/+1
|
* Give signal_exit noreturn attribute.Christopher Faylor2000-07-261-1/+1
|
* * exceptions.cc (signal_exit): Renamed from "really+exit". Always setsChristopher Faylor2000-07-262-18/+15
| | | | | | 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.
* * environ.cc (posify): Revert previous patch.Corinna Vinschen2000-07-262-18/+37
| | | | | | | | (_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.
* * syscalls.cc (stat_worker): Make stat return correct st_blocks for files withChristopher Faylor2000-07-262-151/+157
| | | | size bigger than 2Gb and less than 4Gb
* * security.cc (lookup_name): Search on local machine first ifCorinna Vinschen2000-07-262-0/+22
| | | | myself->domain is not empty.
* * fhandler_console.cc (fhandler_console::read): Explicitly set cursor to makeChristopher Faylor2000-07-262-0/+6
| | | | it visible while waiting in WaitForMultipleObjects.
* Add missing ChangeLog entry.Christopher Faylor2000-07-261-0/+10
|
* * passwd.cc: Change name of passwd_in_memory_p to passwd_state.Corinna Vinschen2000-07-262-15/+38
| | | | | | | | 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.
* * syscalls.cc (statfs): Use path_conv method to convert input path.Christopher Faylor2000-07-262-3/+5
|
* * syscalls.cc (_link): Avoid extraneous call to cygwin_conv_to_win32_path.Christopher Faylor2000-07-263-83/+122
|
* New entry (Programming Questions): 'Why doesn't gdb handle signals?'David Starks-Browning2000-07-251-0/+8
|
* Entry 'Is the Cygwin library multi-thread-safe?': Update for latest release.David Starks-Browning2000-07-251-30/+5
|
* Entry 'Are mixed-case filenames possible with Cygwin?': Expand slightly,David Starks-Browning2000-07-251-6/+8
| | | | add reference to coolview.
* New entry (Cygwin API Questions): 'Is there a mouse interface?' -- No.David Starks-Browning2000-07-251-0/+5
|
* Entry 'Can I use my own malloc?': Add warning about _malloc_r from newlib.David Starks-Browning2000-07-251-3/+8
|
* Entry 'Is it OK to have multiple copies of the DLL?':David Starks-Browning2000-07-251-9/+5
| | | | Emphasise that no, it's not OK.
* Changed 'sourceware.cygnus.com' to 'sources.redhat.com' in the FAQ, where ↵David Starks-Browning2000-07-255-25/+22
| | | | appropriate.
* * syscalls.cc (_link): Corrected previous patch.Corinna Vinschen2000-07-242-1/+5
|
* * fhandler.h (class fhandler_dev_random): Add members for managingCorinna Vinschen2000-07-243-11/+95
| | | | | | | 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().
* * fhandler.h: Add comment.Corinna Vinschen2000-07-232-0/+7
|
* * fhandler.h (class fhandler_dev_raw): Add private member `varblkop'Corinna Vinschen2000-07-234-64/+97
| | | | | | | | | | | | | 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.
* Patch suggested by Kazuhiro Fujieda <fujieda@jaist.ac.jp>.Corinna Vinschen2000-07-224-17/+38
| | | | | | | | | | * 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.
* * spawn.cc (span_guts): Retrieve security attributes before settingCorinna Vinschen2000-07-212-6/+13
| | | | psid to NULL.
* * include/winnt.h: Add missing typedefs for PTOKEN_SOURCE andCorinna Vinschen2000-07-211-1/+1
| | | | LPTOKEN_SOURCE.
* * security.cc (acl_worker): Use stat_suffixes in call to path_convCorinna Vinschen2000-07-212-1/+7
| | | | just as in `stat_worker'.
* * ntsec.sgml: Add description for the new setuid abilityCorinna Vinschen2000-07-204-13/+190
| | | | | | | of Cygwin since release 1.1.3. * overview2.sgml: Add description for new chroot functionality. * calls.texinfo: Add missing calls. Change comments for setuid, setgid, seteuid, setegid, chroot.
* * spawn.cc (spawn_guts): Don't restore impersonation in caseCorinna Vinschen2000-07-192-6/+11
| | | | of _P_OVERLAY. Clean up slightly. Accomodate comments.
* * shared.h (class pinfo): New members `root' and `rootlen'.Corinna Vinschen2000-07-197-16/+148
| | | | | | | | | | | | | | | | * 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.
* Update copyright info.Christopher Faylor2000-07-191-2/+2
|