summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
* * spawn.cc (spawn_guts): YA tweak for dealing with arcane rules of quoting inChristopher Faylor2000-11-204-9/+22
| | | | | | "normal" Microsoft programs. * child_info.h: Bump fork magic number. * include/sys/mount.h: Add an entry for mixed mode.
* sources.redhat.com -> cygwin.com where appropriateDavid Starks-Browning2000-11-208-30/+30
|
* * Makefile.in: Install mingw stuff in a subdirectory if building under cygwin.Christopher Faylor2000-11-202-4/+16
|
* *** empty log message ***Christopher Faylor2000-11-191-1/+3
|
* * utils.sgml: Document new options for ps and strace.Christopher Faylor2000-11-192-5/+14
|
* * cygwinenv.sgml: Remove CYGWIN=strace option. Update CYGWIN options.Christopher Faylor2000-11-194-22/+14
| | | | | * how-programming.texinfo: Remove stuff about CYGWIN=strace. * setup2.sgml: Remove CYGWIN=strace example.
* * path.cc (normalize_posix_path): Special care for root directoryCorinna Vinschen2000-11-172-1/+10
| | | | in case of files beginning with a dot.
* Add Windows ME to "What is it?"David Starks-Browning2000-11-171-3/+2
|
* Add 'Windows 2000' to "What is it?" entry.David Starks-Browning2000-11-171-3/+4
|
* Update entry "I'm having basic problems with find. Why?", add adviceDavid Starks-Browning2000-11-171-0/+5
| | | | about -follow option if CWD is symlink.
* Update "Why is make behaving badly?", add warning about make -j[n].David Starks-Browning2000-11-171-0/+5
|
* New entry "Setup screwed up my mounts!"David Starks-Browning2000-11-171-0/+30
|
* Fix error in "Why doesn't my script work?", add note about 'mount -x'.David Starks-Browning2000-11-171-3/+8
|
* new entry "Why doesn't my script work?"David Starks-Browning2000-11-171-0/+32
|
* * syslog.cc (syslog): Add users SID to NT syslog entry.Corinna Vinschen2000-11-172-1/+6
|
* Fix typo.Christopher Faylor2000-11-171-1/+1
|
* * fhandler_console.cc: New member variable `dwBufferSize' for `info'.Christopher Faylor2000-11-172-2/+11
| | | | | | (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.
* * Makefile.in: Make import library creation 'make -j2' friendly.Christopher Faylor2000-11-162-7/+13
|
* New entry "Why doesn't mkdir -p work on a network share?"David Starks-Browning2000-11-161-0/+21
|
* * uinfo.cc (uinfo_init): Call `cygwin_set_impersonation_token' toCorinna Vinschen2000-11-162-1/+7
| | | | reset `cygheap->user.token' to INVALID_HANDLE_VALUE.
* Update ChangeLog.Christopher Faylor2000-11-162-6/+3
|
* * sigproc.cc (wait_sig): Remove unneeded for loop iteration.Christopher Faylor2000-11-165-35/+35
| | | | | | | | | | | * 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.
* * uinfo.cc (internal_getlogin): Change parameter list to reflectCorinna Vinschen2000-11-153-11/+18
| | | | | | that `token' is member of cygheap_user now. (uinfo_init): Use modified internal_getlogin. * syscalls.cc (seteuid): Ditto.
* * cygheap.h: Move `token' and `impersonated' from class _pinfoCorinna Vinschen2000-11-159-41/+55
| | | | | | | | | | | | | 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.
* * spawn.cc (spawn_guts): Revert patch to ignore chroot settingsCorinna Vinschen2000-11-152-6/+6
| | | | on creating native Win32 environment.
* * fork.cc (slow_pid_reuse): Off-by-one.Christopher Faylor2000-11-152-4/+10
|
* Throughout use myself->ppid_handle rather than parent_alive.Christopher Faylor2000-11-1513-119/+144
| | | | | | | | | | | | | | | | * 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. Handle 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.
* Fix formatting.Corinna Vinschen2000-11-151-1/+1
|
* * cygheap.cc (cygheap_root::cygheap_root): New function.Corinna Vinschen2000-11-1516-138/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. * uinfo.cc (internal_getlogin): Change parameters to reflect the move of user information to cygheap.
* * dir.cc (rewinddir): Always set __d_position = 0, so nextCorinna Vinschen2000-11-142-1/+6
| | | | call to readdir() will restart the directory scan.
* * cygheap.h (init_cygheap): New struct holding values that live in the CygwinChristopher Faylor2000-11-1412-87/+122
| | | | | | | | | | | | | | | | | | | | | 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.
* * path.cc (get_device_number): Allow /dev/ttySn to designate a com port.Christopher Faylor2000-11-136-6/+13
|
* * path.h: Add __attribute__ ((regparm(x))) to commonly used functions.Christopher Faylor2000-11-125-12/+17
| | | | | | * pinfo.h: Ditto. * sigproc.h: Ditto. * sync.h: Ditto.
* * dcrt0.cc: New global variable `ignore_case_with_glob'.Christopher Faylor2000-11-114-10/+75
| | | | | | | | (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.
* remove include/rapi.hChristopher Faylor2000-11-091-64/+0
|
* * dir.cc (readdir): Avoid reading from the beginning whenCorinna Vinschen2000-11-092-1/+7
| | | | readdir is called after a previous call has returned NULL.
* Increase cygwin heap size.Christopher Faylor2000-11-091-1/+1
|
* * select.cc (peek_pipe): Deal with pending newline in pty_master.Christopher Faylor2000-11-092-5/+20
|
* * mount.cc (main): Call show_cygdrive_info instead of show_cygdrive_prefixes.Christopher Faylor2000-11-082-10/+24
| | | | | | | * mount.cc (show_cygdrive_prefixes): Remove function. * mount.cc (show_cygdrive_info): New function. Actually, show_cygdrive_info is really an enhanced version of show_cygdrive_prefixes renamed to show_cygdrive_info that also displays the user and system flags.
* * environ.cc (_addenv): malloc space for setenv if cygwin1.dll is used inChristopher Faylor2000-11-088-9/+88
| | | | | | | | | | | | | | | | | | conjunction with older binaries. (environ_init): Ditto. * 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.
* * mkgroup.c (load_netapi): New function to load netapi32.dll functionsCorinna Vinschen2000-11-083-104/+251
| | | | | | | | | | | | | | | | dynamically so that mkgroup works on 9x/ME as well. Use corresponding function pointers throughout. (usage): Change to `int'. Change text to be conformant to mkpasswd. (main): Use `getlongopt' to process options. Special handling to create a group entry on 9x/ME. * mkpasswd.c (load_netapi): New function to load netapi32.dll functions dynamically so that mkpasswd works on 9x/ME as well. Use corresponding function pointers throughout. (usage): Change to `int'. Change text to be conformant to mkgroup. (main): Use `getlongopt' to process options. Special handling to create a passwd entry on 9x/ME. Change conditional to create an entry for the local administrators group when appropriate.
* * autoload.cc: Add autoload statement for `WSASetLastError'.Corinna Vinschen2000-11-073-1/+15
| | | | | * net.cc (cygwin_connect): Change error code to WSAEINPROGRESS when connect returns WSAEWOULDBLOCK.
* Fix typos.Christopher Faylor2000-11-071-3/+3
|
* Update copyright.Christopher Faylor2000-11-071-1/+1
|
* * dcrt0.cc (sigthread::init): Reinstitute sigthread lock as a critical section.Christopher Faylor2000-11-065-79/+71
| | | | | | | | | | | | (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.
* * path.cc (mount_info::read_cygdrive_info_from_registry): UseChristopher Faylor2000-11-063-11/+30
| | | | | | | | | | | 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.
* * Makefile.in: increment VERSION.Earnie Boyd2000-11-064-8/+26
| | | | | | | | | | | | (dist:) Rename to srcdist. Create new dist target to call srcdist and bindist targets. (srcdist:) New target. (clean-top:) add call to mostlyclean-top and add rm of distribution tarballs. * lib/Makefile.in: (uninstall:) modify to remove files from the new w32api subdirectory and to remove w32api subdirectory. (xuninstall:) Ditto. TODO: Add a task to redo the clean targets of Makefile.in
* * errno.cc (strerror): Change EAGAIN case to return "Resource temporarilyChristopher Faylor2000-11-062-1/+6
| | | | unavailable" instead of "No more processes".
* Fix typo.Christopher Faylor2000-11-061-2/+2
|
* * child_info.h (child_info): Add pppid_handle for closing the parent's of theChristopher Faylor2000-11-069-141/+188
| | | | | | | | | | | | | | | | | | | | | | | 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. * 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.