Commit Graph

2750 Commits

Author SHA1 Message Date
Christopher Faylor e35f391fa5 Remove fcntl.h includes throughout.
* fhandler.h: Move fcntl.h include here.
(fhandler_base::set_flags): Accept supplied_bin argument.  Make non-inlined.
* dtable.cc (dtable::init_std_file_from_handle): Just use binmode from pc.
(reset_to_open_binmode): Use set_flags.
* cygwin.din (open): Avoid newlib wrapper.
(read): Ditto.
(unlink): Ditto.
(write): Ditto.
* fhandler.cc (fhandler_base::set_flags): Accept supplied_bin argument.  Make
binmode decisions here.
(fhandler_base::open): Avoid using pc if it is NULL.  Eliminate binmode logic.
Just call set_flags with binmode argument.
(fhandler_base::init): Call set_flags with binmode argument.
* fhandler_clipboard.cc (fhandler_dev_clipboard::open): Ditto.
* fhandler_console.cc (fhandler_console::open): Ditto.
(fhandler_console::init): Force binary on open.
* fhandler_disk_file.cc (fhandler_disk_file::open): Don't set binmode here.
Let it happen in base class.
* fhandler_dsp.cc (fhandler_dev_dsp::open): Force binmode open.  Set return
value appropriately if unable to open.
* fhandler_proc.cc (fhandler_proc::open): Make sure flags are set before
open_status.
* fhandler_process.cc (fhandler_process::open): Ditto.
* fhandler_registry.cc (fhandler_registry::open): Ditto.
* fhandler_random.cc (fhandler_dev_random::fhandler_dev_random): Ditto.
* fhandler_raw.cc (fhandler_dev_raw::open): Force O_BINARY by default.
* fhandler_serial.cc (fhandler_serial::init): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
(fhandler_pty_master::open): Ditto.
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
* fhandler_windows.cc (fhandler_windows::open): Ditto.
* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
* net.cc (fdsock): Ditto.
* path.cc (path_conv::check): Avoid checking for extension when error or
directory.
(set_flags): Set PATH_TEXT explicitly, when appropriate.
(mount_info::conv_to_win32_path): Use set_flags() to set path flags.
* path.h (PATH_TEXT): New enum.
(path_conv::binmode): Return appropriate constant based on binmode.
* pipe.cc (make_pipe): Set binmode to O_TEXT xor O_BINARY.
* syscalls.cc (setmode_helper): Make debugging message a little clearer.
(setmode): Set binmode via set_flags.
2002-06-05 01:42:28 +00:00
Danny Smith 915d66ce9e * include/winnt.h (PACE_HEADER, PACCESS_ALLOWED_ACE,
PACCESS_DENIED_ACE): Add typedefs.
2002-06-04 22:41:50 +00:00
Corinna Vinschen 4e1388472d * fhandler.h (class fhandler_socket): Add private method
fixup_after_fork (bool, HANDLE).
	* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Move
	functionality to new private method.  Add closing parent socket
	if not called from dup().  Create method new calling private method
	with appropriate parameter.
	(fhandler_socket::fixup_after_exec): Call private method
	fixup_after_fork with appropriate parameter.
	(fhandler_socket::dup): Ditto.
2002-06-04 16:38:13 +00:00
Corinna Vinschen 6bfca3cca5 * fhandler_dsp.cc (fhandler_dev_dsp::open): Set errno to EACCES if
requested mode isn't supported.
2002-06-04 11:18:46 +00:00
Christopher Faylor e02f1e9c81 * fhandler.cc (fhandler_base::open): Don't set binmode if already set. Don't
check for file.  Files should already be set.  Report on binary mode for
debugging.
(fhandler_base::fhandler_base): Don't set default binmode here.  That's for
later.
* fhandler_console.cc (fhandler_console::output_tcsetattr): Don't set binmode,
ever, for console.
* fhandler_disk_file.cc (fhandler_disk_file::open): Always set the binary mode
to the value derived from mount table.
* path.cc (mount_info::conv_to_win32_path): Default to binmode if path does not
translate into anything in the mount table.
2002-06-04 01:40:53 +00:00
Christopher Faylor e6cd2312d6 * umount.cc (version): New global variable.
(longopts): Accommodate new --version option.
(opts): Ditto.
(usage): Standardize usage output.
(print_version): New function.
(main): Accommodate --help, --version options.
2002-06-04 01:31:28 +00:00
Corinna Vinschen 31b98a623c * external.cc (cygwin_internal): Add CW_EXTRACT_DOMAIN_AND_USER
handling to call extract_nt_dom_user() from applications.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add
	CW_EXTRACT_DOMAIN_AND_USER.
2002-06-03 17:56:10 +00:00
Corinna Vinschen b3c2973142 * syscalls.cc (stat64_to_stat32): Transform st_dev correctly.
(fstat64): Add evaluating st_ino and st_dev.
	(stat_worker): Evaluate st_dev as 32 bit value.
	* include/cygwin/stat.h: Use new dev_t definition throughout.
	* include/cygwin/types.h: Define __dev16_t and __dev32_t.  Define
	dev_t according to __CYGWIN_USE_BIG_TYPES__ setting.
	* include/sys/sysmacros.h: Define major, minor and makedev
	according to __CYGWIN_USE_BIG_TYPES__ setting.
2002-06-03 17:44:09 +00:00
Corinna Vinschen 656c31920b * syscalls.cc (setegid32): Verify the correctness of the gid
of the group returned by getgrgid32.
2002-06-03 17:11:14 +00:00
Corinna Vinschen 1eb934b7c5 * security.cc (lsa2wchar): Suppressed.
(get_lsa_srv_inf): Suppressed.
	(get_logon_server_and_user_domain): Suppressed.
	(get_logon_server): Essentially new.
	(get_user_groups): Add "domain" argument. Only lookup the
	designated server and use "domain" in LookupAccountName.
	(is_group_member): Simplify the arguments.
	(get_user_local_groups): Simplify the arguments. Do only a
	local lookup. Use "BUILTIN" and local domain in LookupAccountName.
	(get_user_primary_group). Only lookup the designated server.
	(get_group_sidlist): Remove logonserver argument. Do not lookup
	any server for the SYSTEM account.
	(create_token): Delete logonserver and call to get_logon_server.
	Adjust arguments of get_group_sidlist, see above.
	* security.h: Delete declaration of get_logon_server_and_user_domain
	and add declaration of get_logon_server.
	* uinfo.cc (internal_get_login): Call get_logon_server instead of
	get_logon_server_and_user_domain.
2002-06-03 17:04:03 +00:00
Christopher Faylor 9bd0241009 * regtool.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): Standardize usage output.  Rearrange/add descriptions.
(print_version): New function.
(main): Accomodate longopts and new --help, --version options.  Add check for
(_argv[optind+1] == NULL).
2002-06-03 02:57:55 +00:00
Danny Smith 56c0639f59 * lib/thunk32.def (LIBRARY): Change to KERNEL32.dll.
* lib/kernel32.def (ConvertToGlobalHandle): Add stub.
2002-06-02 22:54:40 +00:00
Christopher Faylor 37be5a67c9 * dtable.cc (handle_to_fn): Use largest match for device. Correctly
(?) deal with remote drive weirdness.
2002-06-02 17:48:05 +00:00
Christopher Faylor f69af9b3d2 * strace.cc (forkdebug): Make true by default.
(attach_process): Use window pid if cygwin pid isn't available (yet).
(create_child): Use either DEBUG_ONLY_THIS_PROCESS or DEBUG_PROCESS,
exclusively.  (Suggested by Conrad.Scott@dsl.pipex.com)
2002-06-02 17:46:38 +00:00
Christopher Faylor 97478fe6b4 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Check specifically
for non-existent file, first.
(fhandler_disk_file::fstat): Perform fd open on files with funny characters.
2002-06-02 16:53:29 +00:00
Christopher Faylor 47413f8473 * fhandler_process.cc (fhandler_process::open): Set fileid. 2002-06-02 16:42:02 +00:00
Christopher Faylor afc15fdf49 * how-programming.texinfo: Add more words to the "how to build". 2002-06-02 06:18:53 +00:00
Christopher Faylor 6b7cd251c7 Remove unneeded sigproc.h includes throughout.
* 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.
2002-06-02 06:07:01 +00:00
Christopher Faylor a673eba664 * configure.in: Complain about lack of w32api directory.
* configure: Regenerate.
2002-06-02 05:54:33 +00:00
Christopher Faylor e065a187ab * fhandler.cc (fhandler_base::fstat): Move dev and ino calculation into caller.
* syscalls.cc (stat_worker): Calculate dev and ino calculation here, if zero.
* fhandler_proc.cc (fhandler_proc::fhandler_proc): Minor reorg for debugging.
* fhandler_process.cc (fhandler_process::exists): Return 0 on nonexistence.
(fhandler_process::fstat): Simplify pid logic.
* fhandler_tape.cc (fhandler_dev_tape::fstat): Minor reformatting.
2002-06-02 03:13:22 +00:00
Danny Smith 2843ca56e7 * include/windef.h: Fix typo in last change. 2002-06-01 21:09:29 +00:00
Danny Smith 748bc82966 * include/windef.h: Add no-op __try, __except, __finally
defines from ...
	* include/excpt.h: Remove file.
	* include/windows.h: Don't include excpt.h.
2002-06-01 20:38:33 +00:00
Christopher Faylor 60abf1c4b8 * path.cc (chdir): Don't allow cd'ing to a non-directory virtual path. 2002-06-01 18:20:51 +00:00
Christopher Faylor 28af03faed * fhandler_disk_file.cc (readdir): Move inode calculation into caller.
(fhandler_cygdrive::readdir): Add "." and "..".
* dir.cc (readdir): Move inode calculation here so that fhandler readdirs can
benefit.
2002-06-01 02:45:38 +00:00
Christopher Faylor 548e208b82 remove accidentally checked in test version. 2002-06-01 02:31:53 +00:00
Christopher Faylor dd892d50a2 oops 2002-05-31 23:00:18 +00:00
Christopher Faylor 30478f15d4 (add the rest of the ChangeLog)
* dtable.cc (dtable::init_std_file_from_handle): Default to using binmode
derived from path_conv, when required.
* fhandler.h (fhandler_base::get_w_binary): Default to binmode if nothing else
is specified.
* fhandler.h (fhandler_base::get_r_binary): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_handle): Work around g++
warning.
* path.cc (path_conv::check): Remove a debugging statement.
2002-05-31 22:59:57 +00:00
Christopher Faylor 8e74c3207f * fhandler_console.cc (fhandler_console::open): Reinstate setting of flags. 2002-05-31 22:53:25 +00:00
Christopher Faylor de86e35bc4 * fhandler_console.cc (fhandler_console::open): Always default to binmode.
(fhandler_console::write_normal): Don't honor binmode setting.  There is
already a termios setting for this.
(fhandler_console::init): Correct argument order in init call.
2002-05-31 22:35:57 +00:00
Christopher Faylor 8461f41ec0 * fhandler.cc (fhandler_base::open): Make default open mode == binmode.
(fhandler_base::init): Set open flags based on derived binmode argument.
2002-05-31 20:48:14 +00:00
Christopher Faylor bcd0ed9f6a * dll_init.cc (dll_list::init): Eliminate unneeded debugging statement. 2002-05-31 20:34:40 +00:00
Christopher Faylor 18c04cc4b2 * fhandler_proc.cc (fhandler_proc::readdir): Set errno when no more files.
* fhandler_process.cc (fhandler_process::readdir): Ditto.
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
2002-05-31 20:30:36 +00:00
Christopher Faylor 69be001cea * path.cc (path_conv::check): Set fileattr to INVALID_FILE_ATTRIBUTES for
nonexistent virtual device path.
(chdir): Set correct errno when attempt is made to cd to nonexistent virtual
device path.
2002-05-31 03:11:21 +00:00
Christopher Faylor 5d8c7a56c2 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Always call fstat_by_name
if fd is not opened to allow fstat_by_name to properly set errno.
* fhandler.cc (binmode): Default to binmode when mode is not known.
2002-05-31 00:15:22 +00:00
Christopher Faylor dfe569334a * mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal. 2002-05-30 19:35:51 +00:00
Corinna Vinschen 5fe3a988af * include/ntdef.h (ANSI_STRING, PANSI_STRING, OEM_STRING, POEM_STRING):
Add missing typedefs.
2002-05-30 08:20:52 +00:00
Corinna Vinschen d74eced5d5 * autoload.cc: Replace autoload statments for ZwXXX by NtXXX.
Drop ZwQuerySystemInformation since NtQuerySystemInformation was
	already available.
	* fhandler_proc.cc (format_proc_uptime): Replace call to
	ZwQuerySystemInformation by call to NtQuerySystemInformation.
	(format_proc_stat): Ditto.
	* fhandler_process.cc (format_process_stat): Replace call to
	ZwQueryInformationProcess by call to NtQueryInformationProcess.
	(get_process_state): Ditto.
	(get_mem_values): Ditto.  Replace call to ZwQueryVirtualMemory by
	call to NtQueryVirtualMemory.
	* ntdll.h: Cleanup.  Drop ZwQuerySystemInformation since
	NtQuerySystemInformation was already available.  Replace declarations
	of ZwXXX functions by declarations of NtXXX.
	* pinfo.cc (winpids::enumNT): Replace call to ZwQuerySystemInformation
	by call to NtQuerySystemInformation.
2002-05-30 07:45:30 +00:00
Christopher Faylor b050246c00 * mount.cc (main): Make -b the default. 2002-05-30 03:42:19 +00:00
Christopher Faylor d4000bc4c6 speling fxi 2002-05-30 03:14:04 +00:00
Christopher Faylor 186637a508 * include/sys/cygwin.h (EXTERNAL_PINFO_VERSION): Reinstate.
* external.cc (fillout_pinfo): Use it.
2002-05-29 21:00:55 +00:00
Corinna Vinschen 50674f2dc3 * ps.cc (main): Use uid or uid32 member of struct external_pinfo
dependent of the value of the struct's version member.
2002-05-29 20:10:27 +00:00
Corinna Vinschen 3a571063b3 * external.cc (fillout_pinfo): Use new version define.
* include/sys/cygwin.h (external_pinfo): Define
	EXTERNAL_PINFO_VERSION_16_BIT and EXTERNAL_PINFO_VERSION_32_BIT
	instead of just EXTERNAL_PINFO_VERSION.
2002-05-29 20:07:54 +00:00
Christopher Faylor 9fef0139c2 * external.cc (fillout_pinfo): Set new version field in external_pinfo
structure.
* include/sys/cygwin.h (external_pinfo): Replace strace_file with version
field.
2002-05-29 17:12:07 +00:00
Corinna Vinschen 642745443f * ps.cc (main): Change print format for uid to unsigned. Use uid32
member of struct external_pinfo instead of uid.
2002-05-29 15:07:14 +00:00
Corinna Vinschen a8d7ae61e7 Change internal uid datatype from __uid16_t to __uid32_t
throughout.
	* cygwin.din: Export new symbols getpwuid32, getpwuid_r32, getuid32,
	geteuid32, setuid32, seteuid32.
	* passwd.cc (getpwuid32): New function.
	(getpwuid_r32): Ditto.
	* syscalls.cc (seteuid32): Ditto.
	(setuid32): Ditto.
	* uinfo.cc (getuid32): Ditto.
	(geteuid32): Ditto.
	* winsup.h (uid16touid32): New macro, correclt casting from __uid16_t
	to __uid32_t.
	(gid16togid32): Ditto fir gids.
	(getuid32): Declare.
	(geteuid32): Ditto.
	(getpwuid32): Ditto.
	* include/sys/cygwin.h (struct external_pinfo): Add members uid32 and
	gid32.
2002-05-29 15:04:29 +00:00
Corinna Vinschen 9854c44c43 * include/cygwin/socket.h: Protect some symbols against multiple
definition.
	* include/netinet/ip.h: Ditto.
	* include/netinet/tcp.h: Ditto.

	* include/netinet/ip.h: Replace by BSD derived version of the file.
	* include/netinet/tcp.h: Ditto.
	* include/netinet/udp.h: New file.
	* include/cygwin/ip.h: Remove.
2002-05-29 07:38:54 +00:00
Corinna Vinschen f59faec485 * passwd.c (prog_name): New global variable.
(longopts): Ditto.
	(opts): Ditto.
	(usage): Standardize output. Accomodate new options.
	(print_version): New function.
	(main): Accomodate longopts and new --help, --version options.
2002-05-29 07:13:09 +00:00
Christopher Faylor cef6955910 * dtable.cc (dtable::init_std_file_from_handle): Attempt stronger detection of
invalid handle.
(handle_to_fn): Detect pathological condition where NT resets the buffer
pointer to NULL on an invalid handle.
2002-05-29 05:15:43 +00:00
Christopher Faylor 654783b62f clarify changelog 2002-05-29 03:42:12 +00:00
Christopher Faylor a761ad8200 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Properly check for
whether we should be opening the file to search for #! characters.  Set
path_conv structure execability, too, if found.
2002-05-29 03:06:37 +00:00
Corinna Vinschen 6c5e0401d4 * ps.cc (usage): Fix typo. 2002-05-28 14:59:36 +00:00
Corinna Vinschen 7ea70e9970 * security.cc (set_security_attribute): Call getegid32() instead of
getegid().
	* include/cygwin/grp.h: Declare getegid32().
2002-05-28 14:58:13 +00:00
Corinna Vinschen 5719640581 Change internal gid datatype from __gid16_t to __gid32_t
throughout.
	* cygwin.din: Export new symbols chown32, fchown32, getegid32,
	getgid32, getgrgid32, getgrnam32, getgroups32, initgroups32, lchown32,
	setgid32, setegid32, getgrent32.
	* grp.cc (grp32togrp16): New static function.
	(getgrgid32): New function.
	(getgrnam32): Ditto.
	(getgrent32): Ditto.
	(getgroups32): Change name of internal function from getgroups.
	(getgroups32): New function.
	(initgroups32): Ditto.
	* syscalls.cc (chown32): Ditto.
	(lchown32): Ditto.
	(fchown32): Ditto.
	(setegid32): Ditto.
	(setgid32): Ditto.
	* uinfo.cc (getgid32): Ditto.
	(getegid32): Ditto.
	* include/cygwin/grp.h: Remove declaration of getgrgid() and getgrnam().
	Declare getgrgid32() and getgrnam32() instead.  Declare getgid32().
2002-05-28 14:10:55 +00:00
Earnie Boyd d4cf003fa0 * include/w32api.h: Increment version to 1.5
* Makefile.in: Ditto.
2002-05-28 13:24:26 +00:00
Earnie Boyd 0c6190694d Merging MinGW changes 2002-05-28 13:20:28 +00:00
Earnie Boyd 4ad1e6fedb Merging MinGW changes 2002-05-28 13:13:45 +00:00
Christopher Faylor ad39fa8cb0 * ps.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): New function.
(print_version): New function.
(main): Accomodate longopts and new --help, --version options.
2002-05-28 03:38:36 +00:00
Christopher Faylor 0c12979b72 * autoload.cc (noload): Properly mask low order word for determining number of
bytes to pop.
2002-05-28 02:09:15 +00:00
Christopher Faylor 57e2ae682c * fhandler_disk_file.cc (fhandler_disk_file::fstat): Minor logic cleanup. 2002-05-28 02:00:55 +00:00
Christopher Faylor 2402700d07 * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.
(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.
2002-05-28 01:55:40 +00:00
Corinna Vinschen 74b2f73ea4 * security.cc (lsa2str): New function.
(get_priv_list): Call lsa2str instead of sys_wcstombs.
2002-05-27 11:58:49 +00:00
Corinna Vinschen 75bf293153 * syscalls.cc (seteuid): Do not take allow_ntsec into account.
Attempt to use an existing or new token even when the uid
	matches orig_uid, but the gid is not in the process token.
	Major reorganization after several incremental changes.
	(setegid): Do not take allow_ntsec into account. Minor
	reorganization after several incremental changes.
2002-05-27 11:48:15 +00:00
Danny Smith 31be924314 2002-05-27 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/winreg.h: (RegConnectRegistry[AW]): Replace
	LP[W]STR with LPC[W]STR.
	(REG_QWORD, REG_QWORD_LITTLE_ENDIAN): Add defines.
	Clean up whitespace.
2002-05-27 09:44:17 +00:00
Danny Smith a440dc9527 2002-05-27 Rick Rankin <rick_rankin@yahoo.com>
* include/winnls.h: Add #define for LOCALE_RETURN_NUMBER.
2002-05-27 08:49:26 +00:00
Christopher Faylor 918a268c80 * debug.h (being_debugged): New macro.
* dtable.cc (dtable::extend): Use new macro.
* exceptions.cc (try_to_debug): Ditto.
* strace.cc (strace::hello): Only output debugging info when we think we're
being debugged.
2002-05-27 02:25:28 +00:00
Christopher Faylor 0cfbfc249f * winsup.h: Remove duplicate declarations of malloc_lock and malloc_unlock. 2002-05-27 02:09:19 +00:00
Christopher Faylor 149965f73c update comment 2002-05-27 02:06:16 +00:00
Christopher Faylor d73f9745f1 * strace.cc (attach_process): Don't tell process to start stracing here.
(proc_child): Do it here, instead, after first debug event.  This should work
around inexplicable races with DebugActiveProcess.
(dostrace): Pass any pid argument to proc_child.
2002-05-27 01:49:08 +00:00
Christopher Faylor d7b4a30001 Remove unneeded sync.h, where appropriate, throughout. Remove unneeded heap.h,
where appropriate, throughout.  Remove unneeded exceptions.h, where
appropriate, throughout.  Remove unneeded perprocess.h, where appropriate,
throughout.
2002-05-25 02:22:50 +00:00
Christopher Faylor 8b3e5e2d6e Fix typos. 2002-05-24 21:11:43 +00:00
Corinna Vinschen 908f9b653b * security.cc (create_token): Call __sec_user() instead of
sec_user() to remove dependence on allow_ntsec. Verify that
	the returned sd is non-null.
2002-05-24 14:44:05 +00:00
Corinna Vinschen f1b53fa94c * setfacl.c (usage): Standardize usage output. Change return type to
static void.
        (print_version): New function.
        (longopts): Added longopts for all options.
        (main): Accommodate changes in usage function and new version option.
2002-05-24 14:40:14 +00:00
Robert Collins a6247be998 2002-05-25 Robert Collins <rbtcollins@hotmail.com>
* gmon.c (fake_sbrk): Correctly return -1 on failed malloc's.
2002-05-24 14:24:33 +00:00
Christopher Faylor ff93854697 * dtable.cc (dtable::build_fhandler_from_name): Just pass posix path along to
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.
2002-05-24 05:44:10 +00:00
Christopher Faylor b4bb31ad55 * path.cc (path_conv::check): Make sure any trailing path component is part of
potential normalized posix path.
2002-05-23 20:01:46 +00:00
Corinna Vinschen 82d178a405 * getfacl.c (usage): Standardize usage output. Change return type to
static void.
	(print_version): New function.
	(longopts): Added longopts for all options.
	(main): Accommodate new help and version options.
2002-05-23 10:56:57 +00:00
Christopher Faylor b2f338e9a9 * smallprint.c (__small_vsprintf): Implement '%o' after all these years. 2002-05-23 06:00:49 +00:00
Christopher Faylor ff7b1ed927 fix typo. 2002-05-23 04:48:03 +00:00
Christopher Faylor 8704ad9da9 * mount.cc (version) New global variable.
(usage) Standardize usage output.  Accomodate new version option.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
2002-05-23 04:19:07 +00:00
Christopher Faylor fc240f584b * fhandler.h (fhandler_virtual::exists): Eliminate path argument.
(fhandler_proc::exists): Ditto.
(fhandler_registry::exists): Ditto.
(fhandler_process::exists): Ditto.
* fhandler_proc.cc (fhandler_proc::exists): Ditto.  Use built-in name.
* fhandler_process.cc (fhandler_process::exists): Ditto.
(fstat): Ditto.
* fhandler_registry.cc (fhandler_registry::exists): Ditto.
(fhandler_registry::fstat): Ditto.
* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
* path.cc (path_conv::check): Ditto.  Add debugging.
* syscalls.cc (dup): Always call dup2 for error handling.
2002-05-22 22:09:58 +00:00
Corinna Vinschen 1d2b71d6a3 * include/cygwin/types.h: Revert previous patch. 2002-05-22 12:47:54 +00:00
Corinna Vinschen 36f86a5537 * include/cygwin/types.h: Define pthread stuff only if _POSIX_THREADS
is defined.
2002-05-22 10:33:39 +00:00
Corinna Vinschen 5bb52de4e2 * cygpath.cc (usage): Change usage output slightly.
* cygpath.cc (main): Add option l to support conversion to
	Windows long file names.  Refactured code for capital options.
	Support of options from file for capital options.
	(dowin): New function.  Refactured from main.
	(doit): Call long path conversion.
	(get_long_name): New function.
	(get_long_paths): New function.
	(get_long_path_name_w32impl): New function.  Reimplementation
	of Windows API function GetLongPathName (only 98/Me/2000/XP or
	higher).
	(get_short_name): Call GetShortPathName only once.
	(get_short_paths): Fix calculating buffer size.
	* utils.sgml: Update cygpath section for l option.
2002-05-22 10:05:41 +00:00
Earnie Boyd 382df84bda * Makefile.in: Increment VERSION to 1.4.
(conf_prefix): New variable.
	(bindist): Modify target to use $(conf_prefix).
2002-05-21 16:50:13 +00:00
Corinna Vinschen 2d6ce5c228 * security.cc (open_local_policy): Initialize lsa to
INVALID_HANDLE_VALUE instead of NULL.
	(get_logon_server_and_user_domain): Test for INVALID_HANDLE_VALUE
	instead of NULL.
	(create_token): Both of the above.
2002-05-21 14:50:26 +00:00
Danny Smith 130e7349a5 2002-05-20 Philip Aston <philipa@mail.com>
* include/pbt.h (PBT_APMRESUMESUSPEND): Correct value is 7.
2002-05-20 00:57:18 +00:00
Danny Smith a110a2ad4d 2002-05-20 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/lmaccess.h: (NetAccess*, NetGroup*,
	NetLocalGroup*, NetUser*, NetGet*, INetLogonControl[2],
	NetQueryDisplayInfotmationIndex): Replace LPWSTR with LPCWSTR.
2002-05-20 00:52:06 +00:00
Christopher Faylor 9ded8bd8b2 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Make handling of nlink
consistent for remote files.
2002-05-18 21:07:18 +00:00
Christopher Faylor cf737d6b32 * strace.cc (add_child): Use calloc since new requires working libstdc++.a.
(fhandler_disk_file::fstat): Ditto for delete/free.
2002-05-18 21:05:10 +00:00
Christopher Faylor 2701126aaf * path.cc (path_conv::check): Always set executable bit for executable
extension.
2002-05-18 20:27:49 +00:00
Christopher Faylor 197f807736 remove white space 2002-05-18 06:10:16 +00:00
Christopher Faylor b05b7d84d6 * fhandler.cc (fhandler_base::lseek): Avoid calling SetFilePointer with high
order part of 64 bit address on OS's which do not support that kind of
operation.  Otherwise Windows 95 will become confused.
2002-05-17 19:30:52 +00:00
Corinna Vinschen d6dc98256c * fhandler_raw.cc (fhandler_dev_raw::open): Replace set_errno()
by __seterrno_from_win_error().
	* security.cc (open_local_policy): Ditto.
	(get_lsa_srv_inf): Ditto.
	(get_user_groups): Ditto.
	(get_user_primary_group): Ditto.
	(create_token): Ditto.
	(subauth): Ditto.
2002-05-17 09:32:45 +00:00
Corinna Vinschen 35a89cbe95 * times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
opening file for writing timestamp.
	* wincap.cc: Remove flag has_specific_access_rights.
	* wincap.h: Ditto.
2002-05-17 08:32:29 +00:00
Corinna Vinschen ebbdc7034b * syscalls.cc (seteuid): Set default dacl in process token.
Replace in-line code by call to verify_token().
	(setegid): Reverse change from 2002-01-21. Add call to
	RevertToSelf and set primary group in impersonation token.
	* security.cc (create_token): Store pgrpsid in token security
	descriptor, except if it already appears in my_grps.
	Use sec_acl() in place of get_dacl().
	(verify_token): Create from code in seteuid(), with tighter checks.
	(get_dacl) Deleted.
	(get_group_sidlist): Add argument to indicate if pgrpsid is already
	in the groups.
	* security.h: Define verify_token().
	* autoload.cc: Load GetKernelObjectSecurity().
2002-05-16 09:30:48 +00:00
Corinna Vinschen e355de817c * cygpath.cc (get_short_paths): Fix more error checking.
(get_short_name): Ditto.

	* cygpath.cc (main): Add option H to show the Windows' profiles
	directory.  Support short names for options DPSW.  Clean up
	copied code lines.
	* utils.sgml: Update cygpath section for H option and s support.
2002-05-15 11:36:00 +00:00
Corinna Vinschen 5588e28765 * cygpath.cc (get_short_name): Fix error checking. 2002-05-14 16:07:26 +00:00
Christopher Faylor ef48a2cad3 * kill.cc (prog_name) New global variable.
(usage) Standardize usage output.  Add descriptions.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
2002-05-13 23:42:32 +00:00
Christopher Faylor feb7f1a97d * cygwin.din: Add strlcat and strlcpy.
* include/cygwin/version.h: Increment API minor version number.
2002-05-13 19:53:46 +00:00
Corinna Vinschen 043bc3e1ee * shared.cc (__sec_user): Split into sec_acl() and call orig_sid().
(sec_acl): Create from part of __sec_user(), except creator/owner.
	* security.h: Define sec_acl() and MAX_DACL_LEN.
2002-05-13 12:10:49 +00:00
Christopher Faylor 6eabab557a * kill.cc (listsig): Display numeric id when given symbolic input. 2002-05-13 05:35:44 +00:00
Christopher Faylor 3ff9fd2b9b document kill -h. 2002-05-13 05:25:14 +00:00
Christopher Faylor 30feaa22dd * kill.cc (usage): Show new options. Allow specification of output stream.
(main): Implement 'h' option.
2002-05-13 05:23:37 +00:00
Christopher Faylor 65791b5de3 Update ChangeLog with missing entry. 2002-05-13 05:18:34 +00:00
Christopher Faylor c49fa76263 * Makefile.in (kill.exe): Add as a specific target.
* kill.cc (longopts): New.
(opts): Ditto.
(get_sig): Accept const char * parameter.  Return -1 on unknown signal.
(test_for_unknown_sig): New function.
(listsig): New function.
(main): Use getopt_long for option parsing.  Implement -l, and -s options.  Use
test_for_unknown_sig() to test for signal validity.
2002-05-13 05:13:58 +00:00
Christopher Faylor d52265ffb2 remove a comma 2002-05-12 19:29:20 +00:00
Christopher Faylor c8b20196dd * fhandler_disk_file.cc (fhandler_disk_file::open): Avoid using O_DIROPEN when
OS doesn't support it.  Return proper errno in that case.
2002-05-12 19:20:01 +00:00
Christopher Faylor 56caca1d16 fix entry 2002-05-12 04:55:10 +00:00
Christopher Faylor b4f8d31f3b * syscalls.cc (_read): Change error to EBADF if attempt to write to a
non-writable fd.
2002-05-12 04:43:29 +00:00
Christopher Faylor 48897dfeb9 * mount.cc (do_mount): Default to non-exec option for remote drives. Report
warnings before attempting a mount.
(longopts): Add no-executable option.
(mount_commands): Ditto.
(opts): Ditto.
(usage): Ditto.  Indicate that system mount is now the default.
(main): Accommodate no-executable option.  Make system mount the default.
* umount.cc (usage): Indicate that system umount is now the default.
(main): Make system umount the default.
2002-05-12 04:29:54 +00:00
Christopher Faylor 29ee580d07 * fhandler.h (executable_states): For now, make dont_care_if_executable
equivalent to not_executable.
* sys/mount.h: Define MOUNT_NOTEXEC.
* path.h (fs_info): New class.
(path_conv): Move fs-specific fields to new 'fs' structure.
(path_conv::update_fs_info): Move to fs_info and rename to just 'update'.
* path.cc (fs_info::update): Ditto.  Return 'true' if successful.
(fillout_mntent): Add ',noexec' to list of reported options.
2002-05-12 03:08:59 +00:00
Christopher Faylor b84621d2e3 * fhandler_virtual.cc (fhandler_virtual::close): Quiet a compiler warning. 2002-05-12 01:59:53 +00:00
Christopher Faylor 6566d27da4 fix formatting 2002-05-12 01:50:38 +00:00
Christopher Faylor 0371d66a64 fix comment 2002-05-12 01:41:17 +00:00
Christopher Faylor 9ba913a56d * autoload.cc: Add dynamic load statements for 'ZwQueryInformationProcess' and
'ZwQueryVirtualMemory'.
* fhandler.h: Change type of bufalloc and filesize members of fhandler_virtual
from int to size_t.  Change type of position member from __off32_t to
__off64_t.  Add new fileid member to fhandler_virtual class.  Make seekdir take
an __off64_t argument.  Make lseek take an __off64_t argument.  Add
fill_filebuf method to fhandler_virtual.  Add fill_filebuf method to
fhandler_proc.  Add fill_filebuf method to fhandler_registry.  Add fill_filebuf
method to fhandler_process.  Add saved_pid and saved_p members to
fhandler_process.
* fhandler_proc.cc (proc_listing_array): Add 'loadavg', 'meminfo', and 'stat'.
(proc_fhandlers array): Ditto.
(fhandler_proc::open): Use fill_filebuf to flesh out the file contents.
(fhandler_proc::fill_filebuf): New method.
(fhandler_proc::format_proc_meminfo): Ditto.
(fhandler_proc::format_proc_stat): Ditto.
(fhandler_proc::format_proc_uptime): Ditto.
* fhandler_process.cc (process_listing): Add 'stat' and 'statm'.
(fhandler_process::fstat): Find the _pinfo structure for the process named in
the filename.  Return ENOENT if the process is no longer around.  Set the gid
and uid fields of the stat structure.
(fhandler_process::open): Store pid and pointer to _pinfo structure in
saved_pid and saved_p respectively.  Use fill_filebuf to flesh out file
contents.
(fhandler_proc::fill_filebuf): New method.
(format_process_stat): New function.
(format_process_status): Ditto.
(format_process_statm): Ditto.
(get_process_state): Ditto.
(get_mem_values): Ditto.
* fhandler_registry.cc (fhandler_registry::seekdir): Change argument type from
__off32_t to __off64_t.
(fhandler_registry::fill_filebuf): New method.
* fhandler_virtual.cc (fhandler_virtual::seekdir): Change argument type from
__off32_t to __off64_t.
(fhandler_virtual::lseek): Ditto.
(fhandler_virtual::fill_filebuf): New method.
(fhandler_virtual::fhandler_virtual): Initialise fileid to -1.
* wincap.cc: Set flag has_process_io_counters appropriately.
* wincap.h: Add flag has_process_io_counters.
2002-05-12 01:37:48 +00:00
Christopher Faylor f561f644e9 * syscalls.cc (_write): Change error to EBADF if attempt to write to a
non-writable fd.
2002-05-09 22:55:08 +00:00
Corinna Vinschen 6327de5fef * cygheap.h (class cygheap_user): Add member `orig_psid'.
Add method `orig_sid()'.
	* cygheap.cc (cygheap_user::set_sid): Maintain orig_psid.
2002-05-08 14:21:08 +00:00
Christopher Faylor 84d06cb64d * dumper.cc (usage) Standardize usage output. Generalize to allow use for
help.
(longopts) New struct.  Added longopts for all options.
(print_version) New function.
(main) Change getopt to getopt_long.  Accommodate new help and version options.
2002-05-08 01:55:56 +00:00
Danny Smith 735bb7e7d7 * include/commctrl.h (ImageList_DragShowNolock): Remove
conflicting redeclaration.
2002-05-07 22:58:26 +00:00
Corinna Vinschen 795b46cf8f * localtime.cc (tzsetwall): Use wildabbr if generated timezone name
length < 3.
2002-05-07 13:18:44 +00:00
Danny Smith 3769952b4d * include/windows.h: Move _ANONYMOUS_UNION, _ANONYMOUS_STRUCT,
STRICT and related defines to ...
	* include/windef.h: Here.

	ChangeLog: Correct date and typo in last entry.
2002-05-06 23:37:52 +00:00
Corinna Vinschen a991777994 * spawn.cc (spawn_guts): Move call to set_process_privilege()
to load_registry_hive().
	* registry.cc (load_registry_hive): ditto.
	* fork.cc (fork_parent): Call sec_user_nih() only once.
2002-05-06 10:05:46 +00:00
Christopher Faylor 13ee3618d0 * path.h (path_conv::path_conv): Initialise normalized_path to NULL. 2002-05-04 18:27:27 +00:00
Christopher Faylor 58e74c7e7f . 2002-05-04 04:30:57 +00:00
Christopher Faylor 8761c1dcf7 * net.cc (getdomainname): Change second argument of getdomainname to size_t.
* fhandler_proc.cc (proc_listing): Add '.' and '..' to directory listing.
(fhandler_proc::open): Change use of mode to flags.  If the file does not exist
already, fail with EROFS if O_CREAT flag is set.  Change EROFS error to EACCES
error when writing to a file.  Use cmalloc to allocate memory for filebuf.
(fhandler_proc::close): Use cfree to free filebuf.
(fhandler_proc::get_proc_fhandler): Properly detect attempts to access unknown
subdir.
* fhandler_process.cc (process_listing): Add '.' and '..' to directory listing.
(fhandler_process::open): Use cmalloc to allocate memory for filebuf.
(fhandler_process::close): Use cfree to free filebuf.
* fhandler_registry.cc (registry_listing): Add .  and '..' to directory
listing.
(fhandler_registry::open): Move check for open for writing before open_key.
Use cmalloc to allocate memory for filebuf.
(fhandler_registry::close): Use cfree to free filebuf.
(fhandler_registry::telldir): Use lower 16 bits of __d_position as position in
directory.
(fhandler_registry::seekdir): Ditto.
* fhandler_virtual.cc (fhandler_virtual::write): Change EROFS error to EACCES
error.
(fhandler_virtual::open): Set the NOHANDLE flag.
(fhandler_virtual::dup): Add call to fhandler_base::dup.  Allocate child's
filebuf using cmalloc.  Copy filebuf from parent to child.
(fhandler_virtual::close): Use cfree to free filebuf.
(fhandler_virtual::~fhandler_virtual): Ditto.
(from Chris Faylor <cgf@redhat.com>).
(fhandler_registry::readdir): Add support for '.' and '..' files in
subdirectories of /proc/registry.
* path.cc (path_conv::check): Do not return ENOENT if a file is not found in
/proc.
2002-05-04 03:24:35 +00:00
Danny Smith c218361efa * include/winsock2.h (int32): Remove typedef.
(SEVICETYPE): Add typedef.
	(struct _flowspec):Revise struct definition,  Comment
	on types used for members.
2002-05-03 03:01:51 +00:00
Christopher Faylor 335c87f94d * fhandler_proc.cc (fhandler_proc::fstat): Use fhandler name rather than
path_conv name.
(fhandler_proc::open): Ditto.
* fhandler_process.cc (fhandler_process::fstat): Use fhandler name rather than
path_conv name.
(fhandler_process::open): Ditto.
* fhandler_registry.cc (fhandler_registry::fstat): Use fhandler name rather
than path_conv name.
(fhandler_registry::open): Ditto.
* path.cc (path_conv::check): Don't copy posix path when virtual.
(mount_info::conv_to_win32_path): Don't zero string when isproc.  Just derive
normal windows path.
* path.h (path_conv::clear_normalized_path): Declare new method.
* path.cc (path_conv::clear_normalized_path): Define new method.
* dtable.cc (build_fhandler_from_name): Clear normalized path when finished to
conserve space.
2002-05-03 02:43:45 +00:00
Christopher Faylor 3bb7eb449c * fhandler_proc.cc (fhandler_proc::fstat): Prime with information from
fhandler_base::fstat.  Use defines rather than constants for permission
settings.
2002-05-02 23:58:20 +00:00
Corinna Vinschen d055ecb08f * path.cc (hash_path_name): Improve hash function strength. 2002-05-02 16:46:12 +00:00
Robert Collins 6396bad848 missed a conflict indicator 2002-05-02 11:27:15 +00:00
Robert Collins 37143995da 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (__pthread_cond_dowait): Fix a race on signalling from a
        thread woken by the same condition variable it's signalling on. Thanks
        to Michael Beach for the report and test case.
2002-05-02 11:26:22 +00:00
Danny Smith 4c956a7c0f * include/winnt.h (EVENT_*, SEMAPHORE_*, MUTEX_*): Remove
more defines added in earlier 2002-05-02 change.
	* lib/Makefile.in (TEST_OPTIONS): Add -Wsystem-headers flag.
2002-05-02 08:41:03 +00:00
Danny Smith 08d528a57c * include/winnt.h (THREAD_PRIORITY_*): Remove defines.
Add TIMER_* to last ChangeLog entry.
2002-05-02 05:59:56 +00:00
Christopher Faylor c477dccfa8 add new files 2002-05-02 04:26:05 +00:00
Christopher Faylor 7a90892d0c add comment 2002-05-02 04:14:40 +00:00
Christopher Faylor 291be3076b * path.h (pathconv_arg): Add PC_POSIX.
(path_conv): Add normalized_path field.
* path.cc (path_conv::~path_conv): New destructor.
(path_conv::check): Set normalized_path, where appropriate.
* dtable.cc (build_fhandler_from_name): Use normalized path from path_conv.
* syscalls.cc (chroot): Ditto.
* cygheap.h: Remove path_prefix_p declaration.  Christopher Faylor
<cgf@redhat.com> (minor fixups)
* Makefile.in: Add fhandler_proc.o, fhandler_registry.o, fhandler_process.o and
fhandler_virtual.o.
* dtable.cc (dtable::build_fhandler): Add entries for FH_PROC, FH_REGISTRY and
FH_PROCESS.  Set unix_name to the normalized posix path.
* fhandler.h: Add constants for FH_PROC, FH_REGISTRY and FH_PROCESS.  Add class
declarations for fhandler_virtual, fhandler_proc, fhandler_registry and
fhandler_virtual.  Update fhandler_union accordingly.
* fhandler_proc.cc: New file.  Add implementation for fhandler_proc.
* fhandler_virtual.cc: New file.  Add implementation for fhandler_virtual.
* fhandler_process.cc: New file.  Add implementation for fhandler_process.
* fhandler_registry.cc: New file.  Add implementation for fhandler_registry.
* path.cc: Add isproc and isvirtual_dev macros.
* path.cc (path_conv::check): Add check for virtual devices.
* path.cc (mount_info::conv_to_win32_path): Convert paths in /proc to empty
Win32 paths.
* path.cc (chdir): Replace check for FH_CYGDRIVE with more generic
isvirtual_dev macro.  Force setting of posix path for virtual fhandlers.
* path.h: Add externally visible path_prefix_p and normalized_posix_path
prototypes.
2002-05-02 04:13:48 +00:00
Danny Smith e1377e380f * include/winnt.h (THREAD_*, EVENT_*, MUTANT_*,
SEMAPHORE_*, MUTEX_*): Add new defines.
2002-05-02 03:49:43 +00:00
Christopher Faylor fee93846d6 * include/cygwin/types.h: Include <sys/sysmacros.h>. 2002-05-01 20:26:33 +00:00
Danny Smith 2a71c1d299 * include/commctrl.h (SNDMSG): Define and use throughout
in other macros instead of SendMessage.
	* include/commdlg.h (SNDMSG): Ditto.
2002-05-01 01:10:51 +00:00
Corinna Vinschen eccebec08d * mkgroup.c (main): Change call to exit() to a return statement.
* mkpasswd.c (main): Ditto.

	* mkpasswd.c (usage): Simplify usage output.  Generalize to allow use
	for help. Correct '?' typo to 'h'.
	(longopts): Add version option.
	(opts): Add 'v' version option.
	(print_version): New function.
	(main): Accommodate new version option.  Accommodate usage parameter
	changes.
2002-04-29 10:21:54 +00:00
Christopher Faylor b807c4ad01 * configure.in: Remove cinstall target.
* Makefile.in: Ditto.
* configure: Regenerate.
2002-04-25 23:19:28 +00:00
Earnie Boyd 54492ef5c6 2002-04-22 Jos� Fonseca <jrfonseca@users.sf.net>
* include/GL/gl.h: New file.
	* include/GL/glext.h: Ditto.
	* include/GL/glu.h: Ditto.
2002-04-22 23:19:36 +00:00
Danny Smith cb699ad770 * include/mbstring.h: New file.
* include/mbctype.h: New file.

	Correct some email address dyslexia.
2002-04-20 13:50:04 +00:00
Danny Smith 97b6ae270d * include/tchar.h (_tputenv): Add UNICODE mappings.
(_tsearchenv): Likewise.
	(_tmakepath): Likewise.
	(_tsplitpath): Likewise.
	(_tfullpath): Likewise.
	(__TEXT): Make same as define in w32api/include/winnt.h.
2002-04-20 05:13:20 +00:00
Danny Smith 1cbcda2e6c * include/tchar.h (_tputenv): Add UNICODE mappings.
(_tsearchenv): Likewise.
	(_tmakepath): Likewise.
	(_tsplitpath): Likewise.
	(_tfullpath): Likewise.
	(__TEXT): Make same as define in w32api/include/winnt.h.
2002-04-20 05:05:50 +00:00
Christopher Faylor 27dcb52a29 revert patch 2002-04-19 14:42:20 +00:00
Robert Collins 4ce4e69db6 2002-04-16 Thomas Pfaff <tpfaff@gmx.net>
* dll_init.h (per_process::dtors_run): New member.
        * dll_init.cc (per_module::run_dtors): Run dtors only once.
        (dll::init): Initialize dtors_run flag.
2002-04-19 12:46:19 +00:00
Danny Smith e9f1cbd011 * dirent.c (opendir): Convert given pathname to
absolute pathname.
2002-04-18 10:32:27 +00:00
Corinna Vinschen 9b15f5fa95 * security.cc (get_lsa_srv_inf): Prevent extraneous backslashes for
the NT Domain case.
2002-04-18 09:11:54 +00:00
Christopher Faylor 32eec3ec1c remove obsolete comment. 2002-04-15 19:23:27 +00:00
Corinna Vinschen 4deace13e4 * net.cc (cygwin_accept): Set socket type for accepted socket.
(socketpair): Set socket type for both sockets.

	From Egor Duda <deo@logos-m.ru>:

	* fhandler.h (class fhandler_socket): New member to store socket type.
	(fhandler_socket::get_socket_type): Access it.
	(fhandler_socket::set_socket_type): Ditto.
	* net.cc (cygwin_socket): Store socket type.
	(cygwin_connect): Disable security checks for connectionless sockets.
	(cygwin_accept): Ditto.
2002-04-12 14:52:36 +00:00
Earnie Boyd 891057bce7 * include/w32api.h: Increment version.
* Makefile.in: Ditto.
2002-04-09 23:49:11 +00:00
Christopher Faylor dbe67a8103 * cygwin.din: Add strptime.
* include/cygwin/version.h: Increment API version number.
2002-04-09 23:47:26 +00:00
Earnie Boyd 4e4871b389 * include/_mingw.h: Increment version.
* Makefile.in: Ditto.
2002-04-09 23:47:01 +00:00
Earnie Boyd 605280b192 * Makefile.in: Use bzip2 compression for Cygwin target. 2002-04-09 22:22:17 +00:00
Earnie Boyd 63cc0b39c8 * Makefile.in (bindist): Use * instead of . for file list for tar
command.
2002-04-09 22:06:54 +00:00
Earnie Boyd 41c3dd2144 * moldname-crtdll.def: Remove CR from end of line.
* moldname-msvcrt.def: Ditto.
2002-04-09 21:03:59 +00:00
Corinna Vinschen 464b3e8039 * fork.cc (fork_child): Call fixup_mmaps_after_fork() somewhat earlier. 2002-04-09 16:33:13 +00:00
Corinna Vinschen d78bda7b75 * fhandler.cc (fhandler_base::open): Set read-only bit in
file_attributes when adequate.
2002-04-09 13:01:00 +00:00
Danny Smith 244a8fae42 * include/math.h (DOMAIN, SING, OVERFLOW, UNDERFLOW,
TLOSS, PLOSS): Move oldname defines back, following
	the underscored names.
2002-04-04 08:54:50 +00:00
Christopher Faylor 932e88a3bc new description for old api. 2002-04-04 05:28:49 +00:00
Danny Smith e432b38efe * include/objidl.h (IRunningObjectTable.Register): Correct
prototype.
	* include/wtypes.h (ROTFLAGS_REGISTRATIONKEEPSALIVE,
	ROTFLAGS_ALLOWANYCLIENT): Add defines.
	* include/wtypes.h (enum tagCLSCTX): Change formatting.
2002-04-02 09:00:14 +00:00
Danny Smith cb01b9eadb * include/shellapi.h (SHGFI_ATTR_SPECIFIED): Add define. 2002-03-31 20:45:38 +00:00
Danny Smith 06bdee1cf6 * include/stdio.h (_snwprintf): Correct spelling.
(_vsnwprintf): Likewise.
	* include/wchar.h (_snwprintf): Correct spelling.
	(_vsnwprintf): Likewise.
2002-03-30 01:38:27 +00:00
Danny Smith 6c893868bf * include/wingdi.h (SetPixelFormat): Correct prototype.
* include/richedit.h (EM_SHOWSCROLLBAR): Add define.
2002-03-30 01:03:22 +00:00
Christopher Faylor 8996623b78 * times.cc (gettimeofday): Fix typo in previous patch. 2002-03-28 05:20:53 +00:00
Christopher Faylor 7d7524e57d * times.cc (gettimeofday): Revert to setting timezone info if tz != NULL. 2002-03-28 04:56:06 +00:00
Danny Smith eba631d6a9 * moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL).
(wpopen): Add if !(__CRTDLL).
	* Makefile.in (moldname-msvcrt.def rule): Use -C, not -c to
	preserve comments.
	(moldname-crtdll.def rule): Likewise.
	* moldname-msvcrt.def: Regenerate.
	* moldname-crtdll.def: Regenerate.
	* include/stdio.h (wpopen):Use prototype, not a define.
	(_swnprintf): Add prototype.
	(_vswnprintf): Likewise.
	Tidy up whitespace.
	* include/wchar.h (_swnprintf): Add prototype.
	(_vswnprintf): Likewise.
	Tidy up whitespace.
2002-03-26 22:23:25 +00:00
Danny Smith fb1c4e20f4 * include/richedit.h (EM_GETSCROLLPOS, EM_SETSCROLLPSPOS):
Add defines.
2002-03-26 21:20:53 +00:00
Christopher Faylor 2f3126f6ec * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Always set
st_[ug]id to value derived from get_file_attributes.
2002-03-22 04:27:52 +00:00
Christopher Faylor 45d2ea8a52 * spawn.cc (find_exec): Return input if file not found. 2002-03-22 03:24:30 +00:00
Christopher Faylor e7ac2b2299 add eol to end 2002-03-21 05:52:21 +00:00
David Starks-Browning 4728007427 expand entry on dir file, may need to update it after installing packages. 2002-03-20 23:53:50 +00:00
David Starks-Browning ba2e67d174 new subsection "Is there a Cygwin port of GNU Emacs?" with pointer to
cygwin-mount.el, and details about "emacs -nw" vs. "xemacs -nw".
2002-03-20 23:48:16 +00:00
David Starks-Browning 3d27e4aaa5 add "cygwish80.exe" to list of tcl/tk apps that do not understand paths 2002-03-20 23:14:30 +00:00
David Starks-Browning d5ded091b6 remove "not yet updated" for preprocessor, GUI programming entries. 2002-03-20 23:12:26 +00:00
David Starks-Browning bab8194c80 remove "Where can I get f77 and objc components for B20 EGCS 1.1?"
(it can't possibly be relevant any more...)
2002-03-20 23:02:51 +00:00
David Starks-Browning 00a4a21d24 update (make problem solved, cvs+ssh problem solved) 2002-03-20 23:01:09 +00:00
David Starks-Browning cfaf7d8891 remove "not yet updated" warning for queue slots, df entries. 2002-03-20 22:34:40 +00:00
Corinna Vinschen 99dbafacb6 * poll.cc (poll): Add support for invalid descriptors. 2002-03-19 17:12:49 +00:00
Christopher Faylor 7a9f3efb1b * mkgroup.c (usage): Use one just fprintf + string concatenation for output
message.
(print_version): Add void to function type and update copyright.
2002-03-19 15:48:40 +00:00
Corinna Vinschen 22a9157c7c * mkgroup.c (usage): Simplify usage output. Generalize to allow use
for help. Correct '?' typo to 'h'.
	(longopts): Add version option.
	(opts): Add 'v' version option.
	(print_version): New function.
	(main): Accommodate new version option.  Accommodate usage parameter
	changes.  Use usage to output help message.
2002-03-19 15:28:13 +00:00
Robert Collins b035997120 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
* fhandler.h (fhandler_termios::lseek): Override lseek.
        * fhandler_termios.cc (fhandler_termios::lseek): Implement this.
2002-03-19 04:39:01 +00:00
Christopher Faylor 59a2339f27 * cygserver.cc: Include stdlib.h for exit declaration.
* threaded_queue.cc: Ditto.
2002-03-15 21:52:05 +00:00
Christopher Faylor ca17537785 * pinfo.cc (pinfo::init): Use PID_ALLPIDS flag to control when a redirected
block should be marked as nonexistent.
(winpids::add): Use PID_ALLPIDS when looking for all pids.
* cygwin.h (PID_ALLPIDS): New enum element.
2002-03-15 21:49:12 +00:00
Corinna Vinschen eeec2a4835 2002-03-15 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): When generating group 513, check for computer's
	primary domain instead of current user's domain.

2002-03-14  Corinna Vinschen  <corinna@vinschen.de>

	* mkgroup.c (main): When generating group 513, check for domain SID
	if computer name isn't mapped to a SID.
2002-03-15 14:53:55 +00:00
Corinna Vinschen 2f26318784 * glob.c (stat32_to_STAT): New function.
(g_lstat): Call user space functions always with 32 bit struct stat
	as a workaround.
	(g_stat): Ditto.
	* include/glob.h (struct glob): Don't prototype function pointers
	when compiling Cygwin.
2002-03-15 10:12:31 +00:00
Christopher Faylor 4af6d4a9ab * pinfo.cc (pinfo::init): Properly handle execed process stub when PID_NOREDIR
is specified.
2002-03-14 23:14:19 +00:00
Christopher Faylor e10c087bd6 Fix ChangeLog 2002-03-14 15:34:32 +00:00
Corinna Vinschen 6ea9c71656 * poll.cc: Remove variable open_fds, rearrange and add code
to fix settings of revents.
2002-03-14 12:15:31 +00:00
Corinna Vinschen bbe0913914 * mmap.cc (mmap_record::map_map): Return -1 if VirtualProtect fails.
(list::erase): New method with no argument.  Erase latest record
	added.
	(mmap64): Fail if map_map() fails.
2002-03-13 20:54:57 +00:00
Danny Smith 5289f34254 * include/richedit.h (RICHEDIT_CLASS): UNICODE it.
* include/shlobj.h (IContextMenu2): Put methods in right order.
	* include/basetyps.h (REFGUID, REFIID, REFCLSID): Check for
	CINTERFACE before defining.
2002-03-13 20:00:16 +00:00
Christopher Faylor 73ea29f42c whitespace cleanup, update copyright 2002-03-13 02:34:05 +00:00
Corinna Vinschen cb4589f49d * sysconf.cc (sysconf): Fix condition. 2002-03-12 08:57:22 +00:00
Christopher Faylor 1f77d71b4c remove erroneous part of comment 2002-03-12 03:36:01 +00:00
Danny Smith 168f27437f Fix my last ChangeLog entry. 2002-03-11 20:58:00 +00:00
Corinna Vinschen 2817e0dc89 * mmap.cc (msync): Check area given by addr and len for being a
contigeous mmap'd region.
2002-03-11 20:23:09 +00:00
Christopher Faylor af53a09c70 * kill.cc (usage): Move to top of file.
(getsig): Ditto.
(forcekill): Ditto.
2002-03-11 18:33:02 +00:00
Corinna Vinschen 713fb38b7c * fork.cc (fork_child): Call fixup_mmaps_after_fork() before
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.
2002-03-11 17:57:22 +00:00
Danny Smith cf62424b92 * include/accctrl.h, aclapi.h, basetsd.h, basetyps.h, cderr.h,
cguid.h, commctrl.h, commdlg.h, cpl.h, cplext.h, custcntl.h,
	dbt.h, dde.h, ddeml.h, dlgs.h, excpt.h, httpext.h, imagehlp.h,
	imm.h, initguid.h, intshcut.h, ipexport.h, iphlpapi.h,
	ipifcons.h, iprtrmib.h, iptypes.h, isguids.h, largeint.h, lm.h,
	lmaccess.h, lmalert.h, lmapibuf.h, lmat.h, lmaudit.h,
	lmbrowsr.h, lmchdev.h, lmconfig.h, lmcons.h, lmerr.h,
	lmerrlog.h, lmmsg.h, lmremutl.h, lmrepl.h, lmserver.h,
	lmshare.h, lmsname.h, lmstats.h, lmsvc.h, lmuse.h, lmuseflg.h,
	lmwksta.h, lzexpand.h, mapi.h, mciavi.h, mcx.h, mmsystem.h,
	mswsock.h, nb30.h, nddeapi.h, nspapi.h, ntdef.h, ntsecapi.h,
	ntsecpkg.h, oaidl.h, objbase.h, objfwd.h, objidl.h, odbcinst.h,
	ole.h, ole2.h, ole2ver.h, oleauto.h, olectl.h, olectlid.h,
	oledlg.h, oleidl.h, pbt.h, prsht.h, psapi.h, rapi.h, ras.h,
	raserror.h, rassapi.h, regstr.h, richedit.h, richole.h, rpc.h,
	rpcdce.h, rpcdce2.h, rpcdcep.h, rpcndr.h, rpcnsi.h, rpcnsip.h,
	rpcnterr.h, rpcproxy.h, schannel.h, schnlsp.h, scrnsave.h,
	security.h, setupapi.h, shellapi.h, shlguid.h, shlobj.h, sql.h,
	sqlext.h, sqltypes.h, sqlucode.h, sspi.h, subauth.h,
	tlhelp32.h, unknwn.h, userenv.h, w32api.h, winbase.h, wincon.h,
	wincrypt.h, windef.h, windows.h, windowsx.h, winerror.h,
	wingdi.h, wininet.h, winioctl.h, winnetwk.h, winnls.h, winnt.h,
	winperf.h, winreg.h, winresrc.h, winsock.h, winsock2.h,
	winspool.h, winsvc.h, winuser.h, winver.h, ws2tcpip.h,
	wsnetbs.h, wtypes.h, zmouse.h:	Add #pragma GCC system_header
	if __GNUC__ >= 3.
	* include/mapi.h: Change header guard name to _MAPI_H  for
	consistency.
2002-03-09 09:04:10 +00:00
Danny Smith 96a3b54498 * include/accctrl.h (_ACCCTRL_H): Correct typo.
Remove unnecessary inclusion of <wtypes.h>
	* ChangeLog: Fix omission of name in recent entries.

	* include/initguid.h (DEFINE_GUID): Add GUID_EXT to define.
2002-03-08 08:17:19 +00:00
Corinna Vinschen c8c3824dc8 * autoload.cc (NetGetDCName): Add symbol.
(NetServerEnum): Remove symbol.
	* security.cc (get_lsa_srv_inf): Call NetGetDCName() instead of
	NetServerEnum() since it's faster.  Don't call it at all if machine
	is not a domain member.
2002-03-07 14:32:53 +00:00
Christopher Faylor b56dedef3e * cygcheck.cc: Reformat. 2002-03-07 03:13:17 +00:00
Christopher Faylor b9262dd919 * cygcheck.cc (longopts): Use correct short option for --version. 2002-03-07 03:06:28 +00:00
Christopher Faylor 6a34460970 * cygpath.cc: Reformat.
* cygpath.cc (print_version): New function.
(main): Accommodate new version function.  Initialize 'o' to prevent warning.
* cygcheck.cc (main): Eliminate non-GNU formatting glitch.
2002-03-07 03:00:14 +00:00
Christopher Faylor 9420d2b833 * path.cc (normalize_posix_path): Avoid runs of '.'s > 2. 2002-03-07 01:31:08 +00:00
Danny Smith b7410006b9 * include/mswsock.h: Group winsock2 dependants
together and protect with #ifdef _WINSOCK2_H.
	* lib/test.c: Only test ws2tcpip.h if winsock2.h
	has been included.
2002-03-06 11:31:47 +00:00
Danny Smith 8d3db0afbe * include/mswsock.h (TP_*): Add new defines.
(TRANSMIT_PACKETS_ELEMENT): Define new structure.
	(WSAMSG): Likewise.
	(WSACMSGHDR): Likewise.
	(DisconnectEx): Add new prototype.
	(WSARecvMsg): Likewise.
	(WSA_CMSG_*) Add empty macros, guarded by #if 0.
2002-03-05 22:40:30 +00:00
Christopher Faylor 07a21bce5b * errno.cc: Change EPERM associated text to "Operation not permitted"
throughout.
2002-03-05 18:11:20 +00:00
Christopher Faylor 1d25d6f87e Update copyright. 2002-03-05 18:03:32 +00:00
Christopher Faylor eeac69d835 * fhandler_socket.cc (fhandler_socket::close): Respond to signals while
looping, waiting for socket to close.  Superstitiously clear last error when
WSAEWOULDBLOCK.
2002-03-05 18:02:53 +00:00
Robert Collins 241a7c5a8c 2002-03-05 Robert Collins <rbtcollins@hotmail.com>
* cygserver_transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
        Always init - until static members work correctly.
        * shm.cc (shmget): Initialize the security descriptor - thanks Corinna!
        * include/sys/ipc.h: Make the ipc control constants partitioned off from the sem
        control constants.
2002-03-05 12:58:24 +00:00
Corinna Vinschen ad2864f4c8 * include/sys/termios.h: Define _POSIX_VDISABLE. Define CCEQ macro.
* fhandler_termios.cc: Include <sys/termios.h>.
	(line_edit): Recognize disabled c_cc[] chars.  Ignore VDISCARD when
	not in ICANON mode.
2002-03-05 08:15:28 +00:00
Christopher Faylor 96ef4a6d4d bump copyright 2002-03-05 02:23:39 +00:00
Corinna Vinschen 59149930a3 * syscalls.cc (truncate64): Use ftruncate64 directly to not lose
upper 32 bits.
2002-03-04 16:47:41 +00:00
Robert Collins 7c3617cc0a 2002-03-04 Robert Collins <rbtcollins@hotmail.com>
* cygserver_shm.cc (delete_shmnode): New function.
        (client_request_shm::serve): Use it.
2002-03-04 08:45:40 +00:00
Robert Collins 038c71f10c 2002-03-04 Robert Collins <rbtcollins@hotmail.com>
* cygserver_shm.cc (client_request_shm::serve): Implement SHM_DETACH.
        * shm.cc (shmdt): Implement.
2002-03-04 08:12:53 +00:00
Robert Collins 67be0adb71 2002-03-04 Robert Collins <rbtcollins@hotmail.com>
* cygserver_shm.cc: Run indent.
        (deleted_head): New global for storing shm id's pending deletion.
        (client_request_shm::serve): Return ENOSYS for invalid request types.
        Implement SHM_DEL - delete a shm id.
        * cygserver_shm.h (SHM_DEL): New type value.
        * shm.cc (delete_inprocess_shmds): New function, does what it's name implies.
        (shmctl): Implement shm_rmid control type.
2002-03-04 07:22:08 +00:00
Robert Collins 74c3173ade 2002-03-04 Robert Collins <rbtcollins@hotmail.com>
* Makefile.in (install): Remove install-bin to allow make install to work.
2002-03-03 21:46:38 +00:00
Robert Collins 009314a45d 2002-03-03 Robert Collins <rbtcollins@hotmail.com>
* shm.cc (shmat): Prevent a compile error.
        (shmdt): Set errno as this function is incomplete.
2002-03-03 12:52:59 +00:00
David Starks-Browning 70228d7e07 fix reg key typo "Red Hat, Inc." -> "Cygnus Solutions" 2002-03-03 11:44:46 +00:00
David Starks-Browning 42b5d90c0a add details about missing cygintl.dll, cygreadline5.dll, ... 2002-03-03 11:37:35 +00:00
David Starks-Browning 82de6f7027 update bash+nt-emacs entry for Emacs 21.1 and JDE->JDEE. 2002-03-03 11:13:21 +00:00
David Starks-Browning 2550d8015b "setup.exe" -> "Cygwin Setup" throughout. Other minor changes throughout. 2002-03-03 10:57:57 +00:00
Danny Smith 6c766d2095 * ChangeLog: Fix typo in last entry.
* include/winsock2.h (IPPROTO_*): Add IPv6 defines.
	* include/ws2tcpip.h: (IP_*): Add new defines.
	(INET_ADDRSTRLEN, INET6_ADDRSTRLEN): Add defines.
	(NI_*): Add getnameinfo constants and bitmasks.
	(AI_*): Add getaddrinfo flags.
	(EAI_*): Add getaddrinfo error codes.
	(ip_mreq_source): Add new structure.
	(ip_msfilter): Add new structure.
	(IP_MSFILTER_SIZE): Add new macro.
	(in_pktinfo): Add new structure.
	Add preliminary IPv6 support.
	(in6_addr): Add new structure and some defines.
	(sockaddr_in6): Add new structure.
	(in6addr_any, in6addr_loopback): Declare extern structures.
	(IN6ADDR_ANY_INIT,IN6ADDR_LOOPBACK_INIT): Add
	initialization macros for above.
	(IN6_ARE_ADDR_EQUAL): Define macro.
	(IN6_IS_ADDR_*): Define address testing macros.
	(socklen_t) Add new typedef.
	(ipv6_mreq): Add new structure.
	(in6_pktinfo): Same.
	(addrinfo): Same.
	(freeaddrinfo):Add new prototype.
	(getaddrinfo): Same.
	(gai_strerror[AW]): Same.
	(getnameinfo): Same.
	(sockaddr_in6_old): Add structure.
	(sockaddr_gen): Add union definition.
	(INTERFACE_INFO): Use sockaddr_gen as members.
	(INTERFACE_INFO_OLD): Add comment on workaround for problems
	with INTERFACE_INFO on NT4 prior to sp4.
.
2002-03-02 10:49:56 +00:00
Christopher Faylor ee6cc465f6 * overview.sgml: Fix 'more more' typo. 2002-03-01 21:40:45 +00:00
Christopher Faylor e77292877c * times.cc: Remove if 0'd code. Clean up slightly. 2002-02-28 19:36:11 +00:00
Christopher Faylor 7a43dbe39b * times.cc: Remove if 0'd code. Clean up slightly. 2002-02-28 19:06:42 +00:00
Robert Collins f449bfef40 2002-02-28 Robert Collins <rbtcollins@hotmail.com>
* Merged cygwin_daemon into head minus the new shm and ipc exports.

2002-02-28  Robert Collins  <rbtcollins@hotmail.com>

	* fhandler_tty.cc (fhandler_tty_slave::open): More debugging.
	(fhandler_tty_slave::read): Fix printf type for the handle.
	* tty.cc (tty::common_init): Add a FIXME for security.

2002-01-29  Robert Collins  <rbtcollins@hotmail.com>

	* Makefile.in (OBJS): Remove duplicate localtime.o.

2002-01-17  Robert Collins  <rbtcollins@hotmail.com>

	* cygserver.cc (check_and_dup_handle): Consolidate the two variants for
	simplicity.
	Add Some basic debug output.
	(client_request_attach_tty::serve): Use the new debug_printf for clarity.
	Mark the duplicated handles as inheritable - fixup_after_fork() doesn't reopen
	tty's.

2002-01-16  Robert Collins  <rbtcollins@hotmail.com>

	* cygserver.cc (transport): Correct scope.
	(client_request_attach_tty::serve): Add more debug information.
	Fix erroneous use of transport instead of conn.
	* cygserver_transport_pipes.cc (transport_layer_pipes::close): More debug.
	(transport_layer_pipes::read): Ditto.
	(transport_layer_pipes::write): Ditto.
	(transport_layer_pipes::impersonate_client): Ditto.

Mon Oct  8  7:41:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* cygserver.cc (server_request::process): Rename client_request_shm_get to
	client_request_shm.
	* cygserver_process.cc (process_cache::add): Rename to add_task.
	Use process_cleanup instead of process_request.
	(process_cache::remove_process): New method.
	(process::process): Initialize new members.
	(process::~process): New member.
	(process::cleanup): New method.
	(process::add_cleanup_routine): New method.
	(process_request::process): Rename to process_cleanup.
	Call the process object's cleanup method and then delete it.
	(process_process_param::request_loop): Remove the signalling process.
	* cygserver_shm.cc: Globally rename client_request_shm_get to client_request_shm.
	(client_request_shm_get::serve): Handle attach request counting.
	* cygserver_shm.h: Globally rename client_request_shm_get to client_request_shm.
	(class shm_cleanup): New class.
	* shm.cc: Globally rename client_request_shm_get to client_request_shm.
	(client_request_shm::client_request_shm): New constructor for attach requests.
	(shmat): Use it.
	* include/cygwin/cygserver_process.h (class process_request): Rename to
	process_cleanup.
	(class cleanup_routine): New class.
	(class process): New members and methods to allow calling back when the process
	terminates.

Thu Oct  4 14:12:00 2001  Robert Collins <rbtcollins@hotmail.com>
	* cygserver.cc (request_loop): Make static.
	(main): Use new cache constructor syntax.
	Start cache worker threads.
	Cleanup the cache at shutdown.
	* cygserver_process.cc: Run indent.
	(process_cache::process_cache): Add a trigger to use when adding a process.
	(process_cache::process): Move process_entry to process.
	Insert at the end of the list.
	Trigger the request loop when new process's inserted.
	(process_cache::process_requests): Do it.
	(process_cache::add): New method.
	(process_cache::handle_snapshot): New method.
	(process::process): Merge in the process_entry fields.
	(process::handle): Make a stub function.
	(process::exit_code): New method.
	(process_request::process): New method.
	(process_process_param::request_loop): New method.
	* cygserver_shm.cc: New header dependency - threaded_queue.h.
	* threaded_queue.cc (threaded_queue::cleanup): Clearer messages.
	(queue_process_param::stop): Short spinlock on interruptible threads.
	* threaded_queue.h (class threaded_queue): New constructor.
	* include/cygwin/cygserver_process.h (process_request): New class.
	(process_entry): Remove.
	(process): Merge in process_entry.
	(process_cache): Inherit from threaded_queue.

Tue Oct  2 23:24:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* cygserver.cc (class server_process_param): Use new constructor syntax.
	* cygserver_process.cc (process_cache::~process_cache): New function.
	* threaded_queue.cc: Define condition debug_printf.
	Run indent.
	(threaded_queue::cleanup): Move queue_process_param guts to a method.
	(threaded_queue::process_requests): Ditto.
	(queue_process_param::queue_process_param): New method.
	(queue_process_param::~queue_process_param): Ditto.
	(queue_process_param::start): Ditto.
	(queue_process_param::stop): Ditto.
	* threaded_queue.h (class queue_process_param): Add support for
	interruptible request loops.
	* cygwin/include/cygwin/cygserver_process.h (class process_cache): Add
	destructor.

Tue Oct  2 23:24:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* cygserver_client.cc: New flag allow_daemon to disable the daemon completely.
	(cygserver_request): Check it.
	(cygserver_init): Ditto.
	* environ.cc (parse_thing): Add (no)daemon option.

Tue Oct  2 23:00:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* shm.cc: Update to handle include changes from HEAD.

Tue Oct  2 16:06:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* Makefile.in: Remove cygserver_shm.o from cygwin1.dll.
	Rename cygserver_shm_outside.o to cygserver_shm.o.
	* cygserver.cc (server_request::process): Use the new client_request
	constructor.
	* cygserver_client.cc: Remove the #ifdef's stubs for the server method
	within cygwin.
	(client_request_attach_tty::client_request_attach_tty): Use the new
	client_request constructor.
	(client_request_shutdown::client_request_shutdown): Ditto.
	(client_request::client_request): Ditto.
	* cygserver_shm.cc (client_request_shm_get::serve): Remove the
	#ifdef'd stub for in-cygwin builds.
	(client_request_shm_get::client_request_shm_get): Use the new
	client_request constructor, and remove the in-cygwin variants.
	* cygserver_shm.h (class client_request_shm_get): #ifndef test the
	serve method - it's only used in cygserver.
	* shm.cc (client_request_shm_get::client_request_shm_get): New function.
	* include/cygwin/cygserver.h (request_header): New constructor.
	(class client_request): Use it.
	New constructor accepting the header size.
	#ifndef test the server method - it's only used within cygserver.
	(client_request_get_version): #ifdef test the server method.
	(client_request_shutdown): Ditto.
	(client_request_attach_tty): Ditto.

Tue Oct  2  9:57:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* Makefile.in: add threaded_queue.o to cygserver.exe.
	* cygserver.cc: Include threaded_queue.h
	(class server_request): Inherit from queue_request.
	(class server_process_param): Inherit from queue_process_param.
	(class server_request_queue): Inherit from threaded_queue.
	(request_loop): Adjust for new types.
	(server_request_queue::process_requests): Remove guts to
	threaded_queue::process_requests.
	(server_request::server_request): Adjust for new types.
	(worker_function): Delete.
	(server_request_queue::create_workers): Delete.
	(server_request_queue::cleanup): Delete.
	(server_request_queue::add): Move guts to threaded_queue::add.
	* threaded_queue.cc: New file.
	* threaded_queue.h: New file.

Mon Oct  1 12:38:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* cygserver.cc (client_request::serve): New function.
	* cygserver_process.cc: Inlude <pthread.h> for pthread_once.
	(process_cache::process_cache): Initialise a crtiical section for write access.
	(process_cache::process): Use the critical section. Also add missing entries to
	the cache.
	(do_process_init): New function to initalise class process static variables.
	(process::process): Ensure that the process access critical section is
	initialised.
	(process::handle): Close the handle of old process's when they have terminated
	and we are returning the handle for a process with the same pid.
	* cygserver_shm.cc: Run indent.
	Include cygserver_process.h to allow process cache functionality.
	(client_request_shm_get::serve): New parameter for process cache support.
	Use the process cache, not OpenProcess to get a handle to the originating process.
	Fix a handle leak with token_handle.
	* cygserver_shm.h (class client_request_shm_get): Update ::serve for process
	cache support.
	* cygserver_transport_pipes.cc: Redefine debug_printf to be conditional on DEBUG.
	* include/cygwin/cygserver.h: Do not implement client_request::serve in the
	header.
	* include/cygwin/cygserver_process.h (class process_cache): Add a write access
	critical section to prevent races when requests from a  multithreaded
	application arrive.

Sun Sep 30 23:41:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* Makefile.in: Add cygserver_process.o to cygserver.exe.
	* cygserver.cc: Include signal.h and cygwin_version.h.
	Define debug_printf as a macro.
	Define DEBUG to a value.
	(client_request_attach_tty::serve): Add beginning of process cache support.
	Change from #ifdef DEBUG to work with new DEBUG style.
	(client_request_get_version::serve): Add beginning of process cache support.
	(class server_request): New prototype for support of process cache.
	(class queue_process_param): New class to allow request loop threading.
	(class server_request_queue): Add beginning of process cache support.
	Allow request loop threading.
	(request_loop): Thread function for request loops.
	(server_request_queue::process_requests): Initiator for threaded request loops.
	(client_request_shutdown::serve): Add beginning of process cache support.
	(server_request::server_request): Ditto.
	(server_request::process): Use debug_printf. Add beginning of process cache
	support.
	(server_request_queue::cleanup): Kill off any request loop threads.
	(server_request_queue::add): Add beginning of process cache support.
	(handle_signal): Trigger a shutdown.
	(main): Print out some useful info at startup - version, date time.
	Add process cache support.
	Spawn a separate thread for the transport request loop, thus allowing concurrent
	support for multiple transports.
	* cygserver_client.cc (client_request_get_version::serve): Add process cache
	support.
	(client_request_attach_tty::serve): Add process cache support.
	(client_request_shutdown::serve): Add process cache support.
	* cygsserver_process.cc: New file with the process cache support.
	* cygserver_shm.cc: Redefine debug_printf to allow conditional output.
	* cygwin.din: Export shmdt().
	* shm.cc: Run indent.
	Update FIXME's.
	(shmdt): New function.
	* include/cygwin/cygserver.h (class client_request): Add process cache support.
	(class client_request_get_version): Ditto.
	(class client_request_shutdown): Ditto.
	(class client_request_attach_tty): Ditto.
	* include/cygwin/cygserver_process.h: New header for process cache support.

Sun Sep 30  8:52:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* include/cygwin/cygserver_transport.h: Add copyright header.
	* include/cygwin/cygserver_transport_pipes.h: Ditto.
	* include/cygwin/cygserver_transport_sockets.h: Ditto.

Sat Sep 29 20:40:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* Makefile.in: Add cygserver_transport_sockets.o to DLL_OFILES.
	Add cygserver_transport_sockets_outside.o to cygserver.exe.
	* cygserver.cc: Include new include files.
	* cygserver_client.cc: Ditto.
	* cygserver_shm.h: No need to include <sys/socket.h> now.
	* cygerver_transport.cc: Include new include files.
	(transport_layer_base::transport_layer_base): Strip back to a stub.
	(transport_layer_base::listen): Ditto.
	(transport_layer_base::accept): Ditto.
	(transport_layer_base::close): Ditto.
	(transport_layer_base::read): Ditto.
	(transport_layer_base::write): Ditto.
	(transport_layer_base::connect): Ditto.
	* cygserver_transport_pipes.cc: Include new header
	"cygwin/cygserver_transport_pipes.h".
	* cygserver_transport_sockets.cc: New file.
	* dcrt0.cc: No need to include <sys/socket.h> now.
	* fhandler_tty.cc: Ditto.
	* tty.cc: Ditto.
	* include/cygwin/cygserver_transport.h: Strip the base class to a stub.
	Remove the cygserver_transport_pipes class.
	* include/cygwin/cygserver_transport_pipes.h: New file.
	* include/cygwin/cygserver_transport_sockets.h: New file.

Tue Sep 25 16:22:00 2001  Robert Collins <rbtcollins@hotmail.com>

	* autoload.cc: Add dynamic load statement for 'ImpersonateNamedPipeClient'.
	* Makefile.in: Add new object files, and build instructions for cygserver.exe.
	* cygwin.din: Export ftok, shmat, shmctl and shmget.
	* dcrt0.cc: Additional includes for cygserver support.
	(dll_crt0_1): Initialise the cygserver client.
	* fhandler.h (fhandler_tty): New method cygserver_attach_tty.
	* fhandler_tty.cc: Additional includes for cygserver support.
	(fhandler_tty_slave::open): Attempt to use the cygserver when obtaining
	handles from the parent process. On failure or 9x use the current method.
	(fhandler_tty_slave::cygserver_attach_tty): New function.
	* fork.cc (fork_child): Fixup shm memory mapped areas.
	* pinfo.h: Declare fixup_shms_after_fork().
	* security.h: Declare alloc_sd().
	* tty.cc: Additonal includes to support cygserver.
	(tty::common_init): Don't allow others to open us if the cygserver is running.
	* winsup.h: Declare cygserver_running.
	* cygserver.cc: New file.
	* cygserver_client.cc: New file.
	* cygserver_shm.cc: New file.
	* cygserver_shm.h: New file.
	* cygserver_transport.cc: New file.
	* cygserver_transport_pipes.cc: New file.
	* ipc.cc: New file.
	* shm.cc: New file.
	* include/cygwin/cygserver.h: New file.
	* include/cygwin/cygserver_transport.h: New file.
	* include/sys/ipc.h: New file.
	* include/sys/shm.h: New file.

2002-02-28  Robert Collins  <rbtcollins@hotmail.com>

	* thread.cc (semaphore::TryWait): Set errno as required by posix 1003.1.
	(__sem_wait): Ditto.
	(__sem_trywait): Ditto.
2002-02-28 14:30:38 +00:00
Robert Collins 062401c9b4 2002-02-28 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (semaphore::TryWait): Set errno as required by posix 1003.1.
        (__sem_wait): Ditto.
        (__sem_trywait): Ditto.
2002-02-28 13:50:41 +00:00
Christopher Faylor 14fdd4415f Update options 2002-02-28 00:08:52 +00:00
Danny Smith fd2ded00a7 * include/windows.h; Remove test for __W32API_MAJOR_VERSION
when selecting winsock interface.
	* include/winsock.h (SOCKET_ADDRESS_LIST): Add structure
	definition and typedefs.
	Expand FIXME comment.
	(WSACOMPLETIONTYPE): Add enum.
	(WSACOMPLETION): Add structure and typedefs.
	(WSANSPIoctl): Add function prototpe and callback typedef.
	(SIO_NSP_NOTIFY_CHANGE): Add define.
	(sockaddr_storage): Add structure and typedefs.
2002-02-28 00:03:11 +00:00
Christopher Faylor d1f50ae546 * include/cygwin/version.h: Bump DLL minor number. 2002-02-27 23:06:55 +00:00
Christopher Faylor 27d01a7217 * winsup.api/systemcall.c (main): Ensure that stdin is redirected. 2002-02-27 23:01:10 +00:00
Christopher Faylor 9737b9b4de Change copyright format. 2002-02-27 21:20:09 +00:00
Christopher Faylor 35e15d9904 * cygcheck.cc (main): Eliminate non-GNU formatting glitch. 2002-02-27 16:25:30 +00:00
Christopher Faylor 67763c0ca2 * ssp.c (help_desk): Fix compiler warning. Christopher Faylor <cgf@redhat.com>
Change appropriate globals to statics throughout.
* cygcheck.cc (usage): Simplify usage output.  Generalize to allow use for
help.
(longopts): Add version option.
(opts): Add 'V" version option.
(print_version): New function.
(main): Accommodate new version option.  Accommodate usage parameter changes.
Use usage to output help message.
* Makefile.in (CXXFLAGS): Add override so that HAVE_DECL_GETOPT is defined.
(libbfd): Use -B rather than -L so that bfd from build directory is correctly
found.
(libintl): Ditto.
2002-02-27 16:10:17 +00:00
Corinna Vinschen acb5617538 * cygwin.din (fstat64): New symbol.
(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.
2002-02-25 17:47:51 +00:00
Christopher Faylor 5a909729b1 update copyright 2002-02-25 05:27:18 +00:00
Christopher Faylor 083abe5428 * sync.h (new_muto): Just accept an argument which denotes the name of the
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.
2002-02-22 19:33:41 +00:00
Corinna Vinschen a6790c5f11 * smallprint.c (rn): Allow long long values.
(__small_vsprintf): Add 'D', 'U' and 'X' formats for long long
	parameters.
2002-02-22 18:22:24 +00:00
Christopher Faylor aa6df8d7d4 * fhandler.cc (fhandler_base::puts_readahead): Remove default parameter
setting.  Newer gcc's complain about this.
(fhandler_base::set_readahead_valid): Ditto.
* fhandler_dsp.cc (Audio::open): Ditto.
(fhandler_dev_dsp::open): Ditto.
2002-02-19 22:06:50 +00:00
Christopher Faylor 7416292611 * configure.in: Avoid building w32api or mingw if they don't exist.
* configure: Regenerate.
2002-02-19 21:59:19 +00:00
Christopher Faylor cecb74ae47 * fork.cc (fork_parent): Use sec_user_nih to control process/thread
inheritance/permission.
* spawn.cc (spawn_guts): Ditto.
* security.cc (create_token): Initialize token so that it is not tested for
bogus value later.  Use sec_user to control process/thread creation.
* security.h (__sec_user): Rename declaration from sec_user.
(sec_user_nih): Declare here as inline function wrapper for __sec_user.
(sec_user): Ditto.
* sigproc.cc (czombies): Allocate a character array for zombies to avoid
constructor overhead
(extremely hackish, I know).
(cpchildren): Ditto.
(pchildren): New define.
(zombies): Ditto.
(getsem): Use sec_user_nih to control semaphore inheritance/permission.
2002-02-19 05:58:44 +00:00
Christopher Faylor 4c761646cc reformat 2002-02-17 22:00:28 +00:00
Christopher Faylor 2bd22312df * times.cc (hires::prime): Restore thread priority on failure condition.
* uinfo.cc (uinfo_init): Use more robust method for determining if process was
invoked from a non-cygwin process.
* sync.h (muto::init): Eliminate "inheritance" parameter.
(new_muto): Reflect removal of parameter.
* sync.cc (muto::init): Ditto.
* cygheap.cc (cygheap_init): Ditto.
* debug.cc (threadname_init): Ditto.
* exceptions.cc (events_init): Ditto.
* malloc.cc (malloc_init): Ditto.
* path.cc (cwdstuff::init): Ditto.
* sigproc.cc (sigproc_init): Ditto.
* grp.cc (group_lock): Use different method for locking with static member.
(read_etc_group): REALLY ensure that read lock mutex is released.
* passwd.cc (passwd_lock): Use different method for locking with static member.
(read_etc_passwd): REALLY ensure that read lock mutex is released.
* shared.cc (sec_user): Correct reversed inheritance test.
2002-02-17 04:59:55 +00:00
Christopher Faylor 9490dffa7b whitespace cleanup 2002-02-16 17:47:48 +00:00
Christopher Faylor cf75300efa * mount.cc (usage): Fix typo in output. 2002-02-15 23:03:14 +00:00
Danny Smith 08618b6f92 * include/ntsecpkg.h: New file.
* include/schannel.h: New file.
	* include/schnlsp.h: New file.
	* include/security.h: New file.
	* include/sspi.h: New file.
	* include/ntsecapi.h (KERB_WRAP_NO_ENCRYPT,
	MICROSOFT_KERBEROS_NAME_[AW]): Add missing constants
	* include/wincrypt.h (CALG_*, X509_ASN_ENCODING.
	PKCS_7_ASN_ENCODING, CERT_*, USAGE_MATCH_TYPE_AND,
	USAGE_MATCH_TYPE_OR, szOID_*): Add missing constants
	(struct _CRYPTOAPI_BLOB): Add structure and typedefs.
	(SSL_EXTRA_CERT_CHAIN_POLICY_PARA,HTTPSPolicyCallbackData,
	CERT_CHAIN_POLICY_PARA,CERT_CHAIN_POLICY_STATUS,
	CRYPT_ALGORITHM_IDENTIFIER, CRYPT_BIT_BLOB,
	CERT_PUBLIC_KEY_INFO, CERT_EXTENSION, CERT_INFO, CERT_CONTEXT,
	CTL_USAGE, CERT_ENHKEY_USAGE, CERT_USAGE_MATCH,
	CERT_CHAIN_PARA, CERT_CHAIN_FIND_BY_ISSUER_PARA,
	CERT_TRUST_STATUS, CRL_ENTRY, CRL_INFO, CRL_CONTEXT,
	CERT_REVOCATION_CRL_INFO, CERT_REVOCATION_INFO,
	CERT_CHAIN_ELEMENT, CRYPT_ATTRIBUTE, CTL_ENTRY, CTL_INFO,
	CTL_CONTEXT, CERT_TRUST_LIST_INFO, CERT_SIMPLE_CHAIN,
	CERT_CHAIN_CONTEXT): Add missing structures.
	(CertCloseStore, CertGetCertificateChain,
	CertVerifyCertificateChainPolicy, CertFreeCertificateChain,
	CertNameToStr[AW], CertOpenSystemStore[AW], CertOpenStore,
	CertFindCertificateInStore, CertFreeCertificateContext,
	CertGetIssuerCertificateFromStore,
	CertFindChainInStore): Add missing functions.
	(CertNameToStr, CertOpenSystemStore, CERT_FIND_SUBJECT_STR,
	CERT_FIND_ISSUER_STR): Add Unicode mappings.
	* lib/crypt32.def: New file.
	* lib/secur32.def: Add mising stubs.
	* lib/test.c: Include new headers.
2002-02-15 19:27:44 +00:00
Christopher Faylor 60b68f0d39 * hires.h (hires::usecs): Rename from utime. Accept an argument.
* strace.cc (strace::microseconds): Use hires class for calculating times.
* sync.h (new_muto): Use NO_COPY explicitly in declaration.
* times.cc (gettimeofday): Reflect change in usecs argument.
(hires::usecs): Ditto.  Changed name from utime.
* winsup.h (NO_COPY): Add nocommon attribute to force setting aside space for
variable.
* regcomp.c (REQUIRE): Add a void cast to bypass a warning.
2002-02-15 17:06:40 +00:00
Christopher Faylor dce87b21e1 * hires.h: New file.
* times.cc (gettimeofday): Use hires class for calculating current time.
(hires::prime): New method.
(hires::utime): Ditto.
2002-02-15 07:05:05 +00:00
Christopher Faylor ed25e9e18c * strace.cc (attach_process): Change CW_STRACE_ON to CW_STRACE_TOGGLE. 2002-02-14 21:51:32 +00:00
Christopher Faylor 3d45652083 * include/sys/cygwin.h (cygwin_getinfo_types): New CW_STRACE_ACTIVE.
* external.cc (cygwin_internal): Handle CW_STRACE_ACTIVE.
2002-02-14 21:31:23 +00:00
Christopher Faylor 907dc7d0c9 * exceptions.cc (unused_sig_wrapper): Eliminate unused parameter to asm.
* external.cc (cygwin_internal): Change CW_STRACE_ON to CW_STRACE_TOGGLE.
* strace.cc (strace::hello): Toggle strace on and off.
* sync.cc (muto::init): Renamed from constructor.
* sync.h (muto::new): Delete.
(muto::delete): Ditto.
(new_muto): Simplify.  Use muto.init for nearly everything.
* uinfo.cc (uinfo_init): Avoid closing a NULL handle.
* include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_STRACE_OFF to
CW_STRACE_TOGGLE.  Delete CW_STRACE_OFF.
* include/sys/strace.h (strace): Add "inited" field.
2002-02-14 21:20:06 +00:00
Danny Smith 27530c3181 * include/ntsecpkg.h: New file.
* include/schannel.h: New file.
	* include/schnlsp.h: New file.
	* include/security.h: New file.
	* include/sspi.h: New file.
	* include/ntsecapi.h (KERB_WRAP_NO_ENCRYPT,
	MICROSOFT_KERBEROS_NAME_[AW]): Add missing constants
	* include/wincrypt.h (CALG_*, X509_ASN_ENCODING.
	PKCS_7_ASN_ENCODING, CERT_*, USAGE_MATCH_TYPE_AND,
	USAGE_MATCH_TYPE_OR, szOID_*): Add missing constants
	(struct _CRYPTOAPI_BLOB): Add structure and typedefs.
	(SSL_EXTRA_CERT_CHAIN_POLICY_PARA,HTTPSPolicyCallbackData,
	CERT_CHAIN_POLICY_PARA,CERT_CHAIN_POLICY_STATUS,
	CRYPT_ALGORITHM_IDENTIFIER, CRYPT_BIT_BLOB,
	CERT_PUBLIC_KEY_INFO, CERT_EXTENSION, CERT_INFO, CERT_CONTEXT,
	CTL_USAGE, CERT_ENHKEY_USAGE, CERT_USAGE_MATCH,
	CERT_CHAIN_PARA, CERT_CHAIN_FIND_BY_ISSUER_PARA,
	CERT_TRUST_STATUS, CRL_ENTRY, CRL_INFO, CRL_CONTEXT,
	CERT_REVOCATION_CRL_INFO, CERT_REVOCATION_INFO,
	CERT_CHAIN_ELEMENT, CRYPT_ATTRIBUTE, CTL_ENTRY, CTL_INFO,
	CTL_CONTEXT, CERT_TRUST_LIST_INFO, CERT_SIMPLE_CHAIN,
	CERT_CHAIN_CONTEXT): Add missing structures.
	(CertCloseStore, CertGetCertificateChain,
	CertVerifyCertificateChainPolicy, CertFreeCertificateChain,
	CertNameToStr[AW], CertOpenSystemStore[AW], CertOpenStore,
	CertFindCertificateInStore, CertFreeCertificateContext,
	CertGetIssuerCertificateFromStore,
	CertFindChainInStore): Add missing functions.
	(CertNameToStr, CertOpenSystemStore, CERT_FIND_SUBJECT_STR,
	CERT_FIND_ISSUER_STR): Add Unicode mappings.
	* lib/crypt32.def: New file.
	* lib/secur32.def: Add mising stubs.
	* lib/test.c: Include new headers.
2002-02-14 00:24:52 +00:00
Danny Smith 4478a9f329 * include/windef.h (PROC,FARPROC,NEARPROC): Remove void
parameter.
2002-02-13 22:15:55 +00:00
Danny Smith 21d349adfc * include/windef.h (FARPROC,NEARPROC,PROC): Remove
void parameter.
2002-02-13 20:56:17 +00:00
Corinna Vinschen 4753a17b28 * include/cygwin/acl.h: Fix definition of aclent_t. 2002-02-12 21:21:32 +00:00
Christopher Faylor 26dd202b01 new how-to. 2002-02-11 02:25:42 +00:00
Christopher Faylor 909acaf679 * Makefile.in (DLL_OFILES): Consolidate object files. 2002-02-10 21:26:27 +00:00
Corinna Vinschen b31c68c447 * child_info.h, cygheap.h, fhandler_clipboard.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, thread.h, uinfo.cc, include/cygwin/acl.h: Fix copyright.
2002-02-10 13:50:13 +00:00
Corinna Vinschen de4e0d3001 * (child_info.h, cygheap.h, dcrt0.cc, dir.cc, fhandler.cc, fhandler.h,
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.
2002-02-10 13:38:51 +00:00
Corinna Vinschen 39b553b8f0 * uinfo.cc (internal_getlogin): Try evaluating user by SID even if
ntsec is off.
	(uinfo_init): Set primary group even if ntsec is off.
2002-02-10 11:15:56 +00:00
Corinna Vinschen 52296b850c * include/cygwin/grp.h: New file.
* include/cygwin/stat.h: Ditto.
	* include/cygwin/types.h: Add definitions for __off32_t,
	__off64_t, off_t, __uid16_t, __uid32_t, uid_t, __gid16_t,
	__gid32_t and gid_t.
	* include/sys/cygwin.h: Use correct uid and gid types.
2002-02-09 20:39:55 +00:00
Corinna Vinschen ff86860ba6 * dtable.cc (dtable::dup2): Revert previous patch.
* fhandler.h: Ditto.
	(fhandler_socket::recv): Define new method.
	(fhandler_socket::send): Ditto.
	* fhandler_socket.cc (fhandler_socket::recv): New method.
	(fhandler_socket::send): Ditto.
	(fhandler_socket::read): Call fhandler_socket::recv() now.
	(fhandler_socket::write): Call fhandler_socket::send() now.
	* net.cc (class wsock_event): Move definition to wsock_event.h.
	(fdsock): Revert previous patch.
	(cygwin_recv): Move implementation to fhandler_socket::recv().
	(cygwin_send): Move implementation to fhandler_socket::send().
	* wsock_event.h: New file.
2002-02-09 10:40:48 +00:00
Corinna Vinschen d0672acc75 * net.cc (get_2k_ifconf): Create interface entries for tokenring cards. 2002-02-09 09:01:18 +00:00
Corinna Vinschen fae28904e9 * dtable.cc (dtable::dup2): Store fd for fhandler_socket.
* fhandler.h (fhandler_base::set_fd): New virtual method.
	(fhandler_base::get_fd): Ditto.
	(fhandler_socket::set_fd): Ditto.
	(fhandler_socket::get_fd): Ditto.
	* fhandler_socket.cc (fhandler_socket::read): Call cygwin_recv instead
	of native Winsock recv.
	(fhandler_socket::write): Call cygwin_send instead of native Winsock
	send.
	* net.cc (fdsock): Store fd in fhandler_socket.
2002-02-08 11:54:10 +00:00
Corinna Vinschen 1f64102fa6 * net.cc (cygwin_getsockname): Fix handling of NULL sun_path. 2002-02-07 15:04:32 +00:00
Corinna Vinschen 29a1ad942e * mkpasswd.c (main): Set default home path for 9x/Me if --path-to-home
isn't given.
2002-01-31 12:43:29 +00:00
Danny Smith ae334f668d * include/mapi.h: New file.
* lib/mapi.def: Add missing function stubs.
	* lib/test.c: Include mapi.h.
2002-01-30 17:33:27 +00:00
Corinna Vinschen 9783296270 * passwd.cc (ChangePW): Add parameter to differ between called for
checking old password and called for changing password.  If called
	for checking old password, return non-zero only if password is surely
	incorrect.
	(main): Call ChangePW() with additional parameter.
2002-01-30 11:57:16 +00:00
Christopher Faylor 8e2deb48d6 add more words 2002-01-30 02:44:21 +00:00
Christopher Faylor 1c2b9fe563 * dump_setup.cc (parse_filename): Don't consider '_' part of the version. 2002-01-29 18:37:00 +00:00
Corinna Vinschen 562d97451a * net.cc (getdomainname): Fix registry key for 9x systems, too. 2002-01-29 13:39:41 +00:00
Corinna Vinschen 94ee02fa05 * net.cc (getdomainname): Fix registry key for NT systems. 2002-01-29 13:23:09 +00:00
Christopher Faylor 012858ecdc * cygcheck.cc: Fix typo. Remove uid_t kludge. Rely on kludge in sys/cygwin.h
instead.
* getfacl.c: Add include to remove warning.
* mkgroup.c (main): Assign variables outside of parameter passing.  This seems
to eliminate some compiler warnings.
2002-01-29 03:08:42 +00:00
Christopher Faylor 4239e5ecf4 * cygcheck.cc: Use specific cygwin includes, as required. 2002-01-29 02:28:44 +00:00
Christopher Faylor de6f83626a * Makefile.in (MINGW_INCLUDES): Change cygwin include.
* strace.cc: Use specific cygwin includes, as required.
(load_cygwin): New function.  Loads cygwin DLL, if necessary.
(attach_process): Attaches strace to a running process.
(dostrace): Accept pid argument.  Attach to pid if supplied.
(usage): Describe -p option.  Correct system description.
(longopts): Alphabetize.
(opts): Ditto.
(main): Ditto.  Handle -p option.
* Makefile.in (CXXFLAGS): Ensure that important settings are preserved even
when overriden by command line.
2002-01-29 02:03:32 +00:00
Christopher Faylor 494a66d9c5 * external.cc (cygwin_internal): Initialize various internal settings if
required to allow use of some things from user loaded DLL.
(CW_STRACE_ON): Add new feature.
(CW_CYGWIN_PID_TO_WINPID): Ditto.
* pinfo.cc (set_myself): Call "strace.hello" to initiate possible strace
session.
(pinfo::init): Guard against dereferencing uninitialized myself.
* sigproc.cc (wait_sig): Call strace.hello() when __SIGTRACE "signal" received.
* strace.cc (strace::hello): New method.
* wincap.cc (wincapc::init): Avoid initializing if already initialized.
* wincap.h (wincapc::wincapc): New method.
* include/sys/cygwin.h: Add new CW_ enums.  Kludge typedefs of {g,u}id_t if
required.
* strace.h (strace::hello): Declare new method.
2002-01-29 02:02:03 +00:00
Christopher Faylor 6616e6cf76 * include/sys/strace.h (_STRACE_ON): Define.
(_STRACE_OFF): Ditto.
2002-01-28 18:03:40 +00:00
Danny Smith 3be1ef991b * include/winuser.h (GetWindowLongPtr[AW],
SetWindowLongPtr[AW]): Add prototypes for _WIN64.
2002-01-28 01:31:00 +00:00
Danny Smith 28a632779a * include/winuser.h (GWLP_*,DWLP_*): Add missing constants.
(GetWindowLongPtr[AW], SetWindowLongPtr[AW]): Map them to
	{Get Set}WindowLong[AW], as in Win32 they are equivalent.
	(GetWindowLongPtr, SetWindowLongPtr): Add Unicode mappings.
2002-01-27 23:42:49 +00:00
Danny Smith a4f2440619 * lib/test.c: Include wsnetbsd.h.
* include/wsnetbs.h: New file.
2002-01-27 23:20:56 +00:00
Danny Smith 88a820dbcc * include/malloc.h (_heapinfo): Correct structure definition.
(_USEDENTRY,_FREEENTRY): Add defines.
	Add comment on platform support for _heap* functions.
	(_get_sbh_threshold): Add prototype.
	(_set_sbh_threshold): Likewise.
	(_expand): Likewise.
2002-01-27 22:54:54 +00:00
Earnie Boyd be4ee22bbc Merge MinGW changes 2002-01-25 20:03:56 +00:00
Earnie Boyd d4b5d8fda2 * include/winnt.h: Remove merge conflict. 2002-01-25 13:13:55 +00:00
Danny Smith b6d314495b Remove duplicate changelog entry. 2002-01-25 03:34:12 +00:00
Danny Smith a3e23446e2 * profile/profil.c: Update copyright info.
* profile/profil.h: Likewise.
	* profile/gcrt0.c: Likewise.
	* profile/profil.h (PROFADDR): Cast idx to unsigned long long to
	avoid overflow.
	* profile/gmon.c: Define bzero as memset if mingw32.
	(monstartup): Use it.
2002-01-25 03:29:55 +00:00
Danny Smith 628ef8b6bb * include/tchar.h (_TCHAR): Add missing ;. 2002-01-25 03:04:46 +00:00
Danny Smith 159743c264 * include/tchar.h (_TCHAR): Add typedefs. 2002-01-25 03:00:36 +00:00
Danny Smith d554b253b5 * include/winnt.h (_TCHAR): Add typedefs.
* include/wininet.h (SECURITY_FLAG_IGNORE_*): Add missing
	defines.
	* include/winsuser.h (ATF_AVAILABLE, SERKF_ACTIVE):
	Add defines.
	(LPACCESSTIMEOUT): Add typedef.
2002-01-25 02:54:19 +00:00
Earnie Boyd 019f46a626 Merge MinGW differences 2002-01-25 00:52:35 +00:00
Christopher Faylor dfb4c34707 * speclib: Ensure that temporary def file is removed. 2002-01-24 21:39:09 +00:00
Danny Smith 993c684df7 * include/commctrl.h: Add missing HDM_*,HDN_*,LVSICF_* defines.
* include/commctrl.h (HDITEM[AW]): Rename _HD_ITEM[AW] to
	_HDITEM[AW], with parallel changes to typedefs.	Use defines for
	backward compatability with old names. Update UNICODE mappings.
	(HDLAYOUT): Remove struct _HD_LAYOUT_XP.  Use new typedefs
	for struct _HD_LAYOUT and add defines for backward
	compatability with old names.
	(NMLISTVIEW): Rename _NM_LISTVIEW to tagNMLISTVIEW, with
	parallel chages to typedefs. Add defines for backward
	compatability with old names.
	(TCHITTESTINFO, IMAGELISTDRAWPARAMS): Fix _WIN32_IE guard.
2002-01-24 07:34:22 +00:00
David Starks-Browning 0ca5f51da4 bit more about full install 2002-01-24 00:34:35 +00:00
David Starks-Browning 78af1b3317 various updates to choosing & [un]installing packages with setup 2002-01-24 00:30:25 +00:00
David Starks-Browning 240d0759d6 clarify how to disable anti-virus safely during setup 2002-01-23 23:53:39 +00:00
David Starks-Browning e6269e5ae9 remove obsolete urgent reference to latest/readme file. 2002-01-23 23:21:31 +00:00
David Starks-Browning 8ed4610215 remove explicit list of packages, refer to <http://cygwin.com/packages/>. 2002-01-23 23:18:30 +00:00
David Starks-Browning 5d35d9b14a "History" no longer maintained here. Moved to <http://cygwin.com/history.html>. 2002-01-23 23:07:18 +00:00
David Starks-Browning c9399dd5d7 clarify "why doesn't my shell script work" 2002-01-23 22:35:58 +00:00
Christopher Faylor 3c07fbebf8 * speclib: Use rm -f to remove temp file just to quiet any potential warnings. 2002-01-23 18:46:19 +00:00
Corinna Vinschen be6d8567eb Supplement ChangeLog entry. 2002-01-23 18:37:58 +00:00
Corinna Vinschen f6fc31e1a9 * security.cc (create_token): Use sec_user() to create
SECURITY_ATTRIBUTES structure for primary token.
2002-01-23 18:35:03 +00:00
Corinna Vinschen adbd01afe4 * path.cc (symlink): Fix check for already existing file. 2002-01-23 16:50:17 +00:00
Christopher Faylor aed69a5b0d * cygmagic: Suppress error output when figuring out if sum takes an option. 2002-01-22 03:48:16 +00:00
Christopher Faylor 2c2473bcac * Makefile.in (CXXFLAGS): Ensure that important settings are preserved even
when overriden by command line.
2002-01-22 03:22:55 +00:00
Christopher Faylor ad466e2f75 * Makefile.in: Build intermediate cygcheck.o to force use of MINGW_CXXFLAGS.
* cygcheck.cc (cygwin_info): Intitialize variable to quiet g++ warning.
(dump_sysinfo): Make variables unsigned to quiet g++ warnings.
* strace.cc (version_string): Rename from SCCSid.
(add_child): Remove unused variable.
(version): Use version_string.  Avoid use of fprintf.
2002-01-22 03:17:59 +00:00
Christopher Faylor f3647dd7e6 * cygmagic: Attempt to figure out if sum takes an option. 2002-01-22 03:02:00 +00:00
Christopher Faylor 51076b7360 * Makefile.in (libpthread.a): Pass the assembler also.
(libm.a): Ditto.
(libc.a): Ditto.
* speclib: Specify the assembler to dlltool.
2002-01-22 01:40:11 +00:00
Christopher Faylor 2290b86637 * Makefile.in: Use CXX instead of CC to compile C++ sources. 2002-01-21 21:35:55 +00:00
Christopher Faylor 0ac2abea6c * include/cygwin/version.h: Bump DLL minor number. 2002-01-21 20:55:59 +00:00
Corinna Vinschen 28982aa871 Fix ChangeLog entry. 2002-01-21 20:52:33 +00:00
Corinna Vinschen ac11ec8845 * grp.cc (getgrent): Don't return default gid entry when ntsec is on.
* syscalls.cc (setegid): Don't set primary group in process token.
2002-01-21 20:51:30 +00:00
Christopher Faylor 1c6577408e Add newline at EOF. 2002-01-21 17:47:53 +00:00
Christopher Faylor 8ef47135dd * speclib: Don't use /dev/null as DLL name. Just default to what's already in
.def file.
* exceptions.cc (sig_handle): Remove last vestiges of SA_NOCLDSTOP code which
caused SIGCHLD to be ignored.
2002-01-21 17:42:08 +00:00
Christopher Faylor 07cc1f1fd8 * include/cygwin/version.h: Bump DLL minor number. 2002-01-21 03:36:16 +00:00
Christopher Faylor 385437d4c5 * syscalls.cc (regfree): Make dll_export. 2002-01-21 03:15:24 +00:00
Christopher Faylor d7c16d8da3 * exceptions.cc (ctrl_c_handler): Convert windows pid to cygwin pid when
detecting if we should actually handle CTRL-C.
2002-01-20 23:13:03 +00:00
Robert Collins 186f78be19 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Add missing MEM_ defines, and convert existing to
        hex for readability.
2002-01-20 15:20:02 +00:00
Christopher Faylor 216109a824 * Makefile.in (new-cygwin1.dll): Revert previous change. libsupc++.a is only
available in libstdc++-v3.
2002-01-20 03:39:36 +00:00
Christopher Faylor 9e73b3397b * exceptions.cc (sig_handle_tty_stop): Don't send SIGCHLD if parent doesn't
want it.
(sig_handle): Don't check for SA_NOCLDSTOP here.  We don't have enough
information.
2002-01-19 23:57:45 +00:00
Christopher Faylor 5946622e72 * include/cygwin/version.h: Bump DLL minor number. 2002-01-19 23:06:28 +00:00
Christopher Faylor 994fe87b6e * Makefile.in (new-cygwin1.dll): Just use -lsupc++ for link.
* sigproc.cc (proc_exists): Change existence criteria.
* sync.h (new_muto): Add volatile to definition to avoid gcc optimization
problems.
2002-01-19 18:15:23 +00:00
Corinna Vinschen df3af7731e * include/cygwin/version.h: Bump API minor version to 51. 2002-01-19 16:17:59 +00:00
Corinna Vinschen 7d6be0d616 * cygwin.din: Add recvmsg and sendmsg.
* net.cc: Add cygwin_recvmsg and cygwin_sendmsg.
        * /usr/include/sys/socket.h: Add recvmsg and sendmsg.
2002-01-19 16:11:00 +00:00
Corinna Vinschen 2d3dab2ea5 * security.cc (create_token): Close processes token handle as soon
as it's not used anymore.
2002-01-19 16:06:11 +00:00
Christopher Faylor e47cd9cd5f * cygcheck.cc (already_did): Avoid default constructors, which may require
exception support.
2002-01-18 02:57:10 +00:00
Corinna Vinschen 3cdacffcb2 * cygpath.cc (main): Add options to show Desktop and Start
Menu's Programs directory for current user or all users.
	Move bulk of DPWS options outside the getopt case statement.
	* utils.sgml: Update cygpath section for ADPWS options.
2002-01-17 16:54:01 +00:00
Corinna Vinschen 104c3be681 * Makefile.in: Add fnmatch.o to DLL_OFILES.
* cygwin.din: Add fnmatch export symbol.
	* fnmatch.c: New file.
	* include/fnmatch.h: Ditto.
	* include/cygwin/version.h: Bump API minor version to 50.
2002-01-17 10:39:37 +00:00
Corinna Vinschen 9a7e156253 * path.cc (fchdir): Call chdir with full windows path. 2002-01-15 20:29:09 +00:00
Corinna Vinschen 7b5c105b61 * cygpath.cc (doit): Empty file ignored using option -i. 2002-01-15 14:07:42 +00:00
Corinna Vinschen 7041c7aba0 * mkpasswd.c (print_win_error): Add a new function.
(enum_users): Use print_win_error.
	(enum_local_groups): Ditto.
	(main): Ditto.
2002-01-15 13:10:45 +00:00
Corinna Vinschen 7837ec4bda * include/winnt.h (FILE_ATTRIBUTE_ENCRYPTED): Correct constant.
(FILE_ATTRIBUTE_DEVICE): Add define.
2002-01-14 23:30:14 +00:00
Corinna Vinschen 7eddac1bc5 * dir.cc: Use INVALID_FILE_ATTRIBUTES instead of "(DWORD) -1"
for file attributes throughout.
	* fhandler.cc: Ditto.
	* fhandler_disk_file.cc: Ditto.
	* path.cc: Ditto.
	* path.h: Ditto.
	* syscalls.cc: Ditto.
	* times.cc (utimes): Use path_conv::isdir() instead of explicit
	GetFileAttributes() call.
2002-01-14 20:39:59 +00:00
Corinna Vinschen 55409319de * include/winnt.h: Add INVALID_FILE_ATTRIBUTES. 2002-01-14 20:15:32 +00:00
Christopher Faylor 33ad2bf9d1 Add copyright stuff 2002-01-13 20:03:03 +00:00
Christopher Faylor 5daa0835e3 * dcrt0.cc (multiple_cygwin_problem): Clarify logic and make CYGWIN_MISMATCH_OK
more powerful.
2002-01-13 16:55:32 +00:00
Christopher Faylor 0d9cc95e90 * overview.sgml: Fix Red Hat cygwin contract link.
* what.texinfo: Ditto.
2002-01-12 21:36:44 +00:00
Robert Collins 175f01bc17 2002-01-11 Ralf Habacker <Ralf.Habacker@freenet.de>
* include/ntsecapi.h:  Fixed missing void parameter type in some prototypes.
        * include/objbase.h: Ditto.
        * include/rapi.h: Ditto.
        * include/rpc.h: Ditto.
        * include/rpcdce.h: Ditto.
        * include/rpcdcep.h: Ditto.
        * include/rpcndr.h: Ditto.
        * include/rpcnsip.h: Ditto.
        * include/rpcproxy.h: Ditto.
        * include/windef.h: Ditto.
2002-01-11 10:23:20 +00:00
Robert Collins f827d65e12 2001-12-30 Guido Serassio <serassio@libero.it>
* include/winsvc.h: Add EnumServiceStatusEx(),
       QueryServiceStatusEx()
       & RegisterServiceCtrlHandlerEx()
2002-01-11 10:17:27 +00:00
Christopher Faylor 06486d9e55 * exceptions.cc (sig_handle): Accept a second argument indicating whether the
signal came from this process or not.
* sigproc.h: Reflect sig_handle arg change.
* signal.cc (kill_pgrp): Add sigframe info.
(abort): New function.  Eliminates newlib function of same name.
* sigproc.cc (wait_sig): Pass "signal from this process" value as arg 2.
2002-01-11 02:24:06 +00:00
Corinna Vinschen bb5225c236 * syscalls.cc (pathconf): Guard _PC_PATH_MAX branch against invalid
file parameter.
2002-01-10 13:24:28 +00:00
Christopher Faylor c0a8e8d0f9 * exceptions.cc (early_stuff_init): Rename from misnamed set_console_handler.
(ctrl_c_handler): Attempt to work around potential signal duplication during
process startup.
(sig_handle): Ignore SIGINT when we're just an "exec stub".
* spawn.cc (spawn_guts): Store pid of spawned process in global for use by
ctrl_c_handler.
* dcrt0.cc (dll_crt0_1): Call renamed initialization function.
* winsup.h: Reflect function name change.
2002-01-10 03:21:27 +00:00
Corinna Vinschen fe37dd79ec * net.cc (cygwin_accept): Set sun_path for newly connected socket. 2002-01-09 20:57:55 +00:00
Christopher Faylor cbf7a9eb4a * Makefile.in: Add uninstall target. 2002-01-08 04:51:01 +00:00
Christopher Faylor a2e12d0c37 * sigproc.cc (getsem): Clean up debugging output. 2002-01-07 22:18:36 +00:00
Christopher Faylor 4a08cbfefb * sigproc.cc (getsem): Set errno when unable to create own semaphore.
Reorganize to make clearer that error should only come from initial creation of
process semaphore.
2002-01-07 16:47:12 +00:00
Christopher Faylor 10dedaaa4c * dtable.cc (dtable::init_std_file_from_handle): Add some defensive code to
invalid handle case.
2002-01-06 17:29:41 +00:00
Corinna Vinschen d6154fb758 * ioctl.cc (ioctl): Make third argument optional.
* include/sys/ioctl.h: Ditto in declaration.
	* dtable.cc (dtable::init_std_file_from_handle): Revert previous
	bogus patch.
	* window.cc (WndProc): Raise SIGURG instead of SIGIO in case of FD_OOB
	message.
2002-01-06 09:28:13 +00:00
Christopher Faylor 9125cbd7cf * dir.cc (opendir): Guarantee release of alloced fhandler structure on error. 2002-01-06 03:32:32 +00:00
Corinna Vinschen fcb76c5dcb exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN. 2002-01-05 22:25:34 +00:00
Corinna Vinschen 2edba2368a * dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
handle as errorneous.
2002-01-05 18:42:52 +00:00
Christopher Faylor acf05df744 * cygmagic: Change logic for equality test. 2002-01-04 23:29:58 +00:00
Christopher Faylor 7acba9716b * dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT. 2002-01-04 19:06:01 +00:00
Corinna Vinschen dc63cea5ed * net.cc: Replace usage of AF_UNIX by Posix compliant AF_LOCAL
throughout.
	(socketpair): Explicitly allow SOCK_STREAM and SOCK_DGRAM socket types
	in families AF_UNIX and AF_LOCAL.  Explicitly allow PF_UNSPEC, PF_LOCAL
	and PF_INET protocols.  Return error otherwise.  Implement datagram
	socketpairs.
2002-01-04 16:56:53 +00:00
Christopher Faylor 3b789217ae * speclib: Remove temp files automatically. 2002-01-02 00:06:35 +00:00
Christopher Faylor 444604889b * Makefile.in: Duh. Actually use bzip2 to create the tarball. Don't just
change the name.
2002-01-01 20:28:29 +00:00
Christopher Faylor 5d29717b6b * Makefile.in: Make .bz2 tarball. 2002-01-01 17:10:13 +00:00
Christopher Faylor fdd75ff3d2 restore missing entry 2002-01-01 16:49:52 +00:00
Corinna Vinschen 2fe2790925 * fhandler.h (fhandler_socket::sun_path): New private member.
(fhandler_socket::set_sun_path): New method.
	(fhandler_socket::get_sun_path): Ditto.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
	sun_path to NULL.
	(fhandler_socket::~fhandler_socket): Free sun_path if needed.
	(fhandler_socket::set_sun_path): New method.
	* net.cc (cygwin_bind): Set sun_path to path of local socket file.
	(cygwin_getsockname): Add code to return correct sockaddr for unix
	domain sockets.
2002-01-01 16:25:31 +00:00
Christopher Faylor c51202eefe Nuke 2001-12-31 23:24:10 +00:00
Christopher Faylor f417fcf315 Strip path when installing library. 2001-12-31 06:24:15 +00:00
Christopher Faylor 6d218bb5c6 * include/getopt.h: Fix define. 2001-12-31 04:00:07 +00:00
Christopher Faylor e56f4d7fc4 * speclib: New file.
* Makefile.in: Create library versions of automode.o, textmode.o, and binmode.o
for easier use on command line.  Create libpthread.a, libm.a, and libc.a with
subsets of exports found in libcygwin.a.
2001-12-31 03:19:29 +00:00
Christopher Faylor cdd3a8bd67 * cygmagic: Eliminate unneeded use of 'tr' and 'bc'. 2001-12-30 18:52:19 +00:00
Corinna Vinschen 5d3949b064 * security.cc (open_local_policy): Use POLICY_EXECUTE instead of
enumerating user rights.
2001-12-30 17:38:24 +00:00
Corinna Vinschen e37f6c57cd * security.cc (open_local_policy): Initialize lsa handle to NULL.
Request only needed access rights in call to LsaOpenPolicy().
	(create_token): Check for NULL lsa pointer.
2001-12-29 22:03:32 +00:00
Corinna Vinschen 971ec8d310 * cygwin.din: Add symbols for endutent(), getutent(), getutid(),
getutline(), setutent() and utmpname().
	* syscalls.cc (setutent): New function.
	(endutent): Ditto.
	(utmpname): Ditto.
	(getutent): Ditto.
	(getutid): Ditto.
	(getutline): Ditto.
	* include/cygwin/version.h: Bump API minor version.
2001-12-28 15:53:27 +00:00
Christopher Faylor aaf219f01e * cygmagic: Add define name to warning.
* dcrt0.cc (_dll_crt0): Check for changes in child_info size.
(multiple_cygwin_problem): Avoid "proc" errors when testing.  Just assume new
cygwin proc.
* shared_info.h (mount_info): Add 'cb' element for sanity checks.
(shared_info): Ditto.
* child_info.h (child_info): Add fhandler_union_size element for sanity
checking.
* shared.cc (open_shared): Detect shared region size mismatch between parent
and child.
(shared_info::initialize): Detect shared region size mismatch with expectation.
(memory_Init): Ditto.
* sigproc.cc (init_child_info): Correctly set cb in passed structure.
* shared.cc (open_shared):
2001-12-26 21:35:16 +00:00
Christopher Faylor dcd8b9be82 * include/getopt.h: Protect a declaratin. 2001-12-26 17:48:44 +00:00
Christopher Faylor c02e32c9bd * cygpath.cc (doit): Detect and warn about an empty path. Detect and warn
about errors converting a path.
(main): Set prog_name correctly -- don't leave an extra slash or backslash at
the beginning of it.
2001-12-26 17:46:12 +00:00
Robert Collins 028ee5466b Remove accenidentally left >>> marker 2001-12-26 12:48:12 +00:00
Robert Collins cbce49804f 2001-12-26 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (pthread_cond::Signal): Use a separate flag for signal detection
        and broadcast semantics.
        (__pthread_cond_dowait): Ditto.
        * thread.h (pthread_cond): New flag for testing when a waiter has woken.
2001-12-26 12:46:26 +00:00
Christopher Faylor 7a0252e203 comment 2001-12-26 06:18:41 +00:00
Christopher Faylor a2b75539a2 * Makefile.in: Quote arguments to shell scripts.
(clean): Remove new *_magic.h autogenerated files.
2001-12-26 05:02:07 +00:00
Christopher Faylor 77f4a25028 * Makefile.in: Autogenerate some header files which provide magic numbers.
Force dependencies for files which depend on autogenerated headers to ensure
that they are always built.
* child_info.h (child_info): Add new fields to accommodate new magic number
header stuff.
* dcrt0.cc: Rely on "child_info_magic.h" to ensure that correct child_info
magic numbers are used.
(dll_crt0_1): Temporarily remove _cygwin_testing_magic test.
(_dll_crt0): Do more testing on magic numbers from fork_info structure.  Call
"multiple_cygwin_problem" where appropriate.
(multiple_cygwin_problem): Rename from multiple_cygwin_die.  Issue a warning or
die, as appropriate based on cygwin version/magic number mismatch.
* pinfo.cc (pinfo::exit): Don't attempt to dereference `this' if it doesn't
exist.  This can happen when a fatal error occurs early in process
initialization.
* shared.cc: Rely on "shared_info_magic.h" to accommodate that new magic number
header stuff.
(shared_info::initialize): Use new magic number stuff, for shared region.
(memory_init): Ditto, for mount table.
* shared_info.h: Accomodate new magic number stuff for shared region and mount
table.
* sigproc.cc: Rely on "child_info_magic.h" to accommodate new magic number
header stuff.
(init_child_info): Initialize new fields in child_info) to accomodate magic
numbers.
* winsup.h: Rename multiple_cygwin_die to multiple_cygwin_problem.
* include/cygwin/version.h: Define macros for manipulating version magic.
* cygmagic: New shell script for generating magic numbers.
2001-12-26 04:53:34 +00:00
Robert Collins a3e320f3c9 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
* include/wingdi.h: Add GetRandomRgn and SYSRGN.
2001-12-21 06:53:56 +00:00
Christopher Faylor 7b5ea138a2 * lib/Makefile.in: Revert inst_installdir definitions to working versions. 2001-12-21 04:42:05 +00:00
Christopher Faylor 4f235c9559 * include/cygwin/version.h: Bump API minor version for below changes. 2001-12-20 18:54:30 +00:00
Christopher Faylor 93034cfc7c Remove obsolete include. 2001-12-20 03:03:59 +00:00
Christopher Faylor 48beacf6e4 * Makefile.in (VPATH): Add regex directory.
(NM): new variable.
(OBSOLETE_FUNCTIONS): Ditto.
(NEW_FUNCTIONS): Ditto.
(install-headers): Install regex.h.
(install-man): New target.
(install): Use new target.
(DLL_OFILES): Add v8_reg* stuff.
(new-cygwin1.dll): Eliminate stamp-cygwin-lib creation.
(libcygwin.a): Remove obsolete functions from import lib.  Add new functions.
* configure.in: Detect 'nm' tool.
* configure: Regenerate.
* cygwin.din: Export posix_reg* functions.  Eliminate export of v8 reg*
functions.  This is now handled in object files themselves.
* regex/*: New files.
* regexp/v8_*.c: New files, renamed from non v8_ equivalents.
2001-12-20 02:55:11 +00:00
Christopher Faylor 4b31ae795b Fix up comments. 2001-12-19 20:10:03 +00:00
Christopher Faylor aa053fd461 * Makefile.in: Don't attempt to use zlib directory as a dependency if it
doesn't exist.
2001-12-19 03:35:36 +00:00
Corinna Vinschen 6d114a5dea * include/getopt.h: Don't define getopt_long() and friends when
included through unistd.h.
2001-12-17 21:34:59 +00:00
Christopher Faylor 513a848fe6 * dtable.cc (dtable::init_std_file_from_handle): Avoid initializing using an
invalid handle.
2001-12-17 19:55:58 +00:00
Christopher Faylor a318eb217d * include/limits.h: Define LLONG_MIN, LLONG_MAX, ULLONG_MAX. 2001-12-17 01:41:07 +00:00
Robert Collins 4706b72837 2001-12-17 Guido Serassio <serassio@libero.it>
* include/winsvc.h: Add ChangeServiceConfig2() &
        QueryServiceConfig2() definition
2001-12-16 21:57:36 +00:00
Robert Collins 990d6d89b6 2001-12-17 Robret Collins <rbtcollins@hotmail.com>
* include/commctrl.h: New typedefs for HDLAYOUT and LPHDLAYOUT based
	on MSDN documentation for XP.
2001-12-16 21:55:40 +00:00
Corinna Vinschen 8606f0058e * mkpasswd.c (enum_users): Change to unconditionally use
the --path-to-home option, if supplied by the user.  Use default
	--path-to-home option value, if appropriate.
	(usage): Change usage statement to reflect new semantics.
	(main): Remove defaulting of the --path-to-home option.
2001-12-14 20:01:53 +00:00
Christopher Faylor b6ddef77a4 Add missing ChangeLog.
* configure.in: Detect zlib subdirectory.
* configure: Regenerate
2001-12-14 18:26:43 +00:00
Christopher Faylor 94597cd05f * Makefile.in: Exit immediately if a sub-make fails. 2001-12-14 18:23:19 +00:00
Christopher Faylor bdc7392ce3 * mkpasswd.c (opts): Add indication that '-p' option requires an argument. 2001-12-14 17:15:37 +00:00
Christopher Faylor e05f3227be * Makefile.in: Add define to CXXFLAGS. 2001-12-11 22:51:01 +00:00
Christopher Faylor 9b02812029 * include/getopt.h: Add HAVE_DECL_GETOPT to save pain elsewhere. 2001-12-11 22:22:43 +00:00
Christopher Faylor c4d15ff443 * what.texinfo: Clarify XP. 2001-12-11 17:16:02 +00:00
Christopher Faylor 40139114ea * fhandler.h (fhandler_serial::ev): New class member.
* fhandler_serial.cc (fhandler_serial::raw_read): Use class member for event
status.
* select.cc (peek_serial): Ditto.
2001-12-11 00:24:46 +00:00
Christopher Faylor cf77faefc8 whitespace cleanup 2001-12-10 03:35:54 +00:00
Christopher Faylor 397f94082d * path.cc (path_conv::check): Use full path name for determining attributes
when /cygdrive/x/foo.
2001-12-08 01:27:10 +00:00
Earnie Boyd 15a1d3f2fc * Makefile.in: Increment VERSION.
* include/_mingw.h: Ditto.
2001-12-07 21:38:03 +00:00
Earnie Boyd ddd50f72b5 * Makefile.in: Increment VERSION.
* include/w32api.h: Ditto.
2001-12-07 21:29:30 +00:00
Earnie Boyd 17e6a0014b merge changes from MinGW 2001-12-07 14:15:24 +00:00
Christopher Faylor a12a3466b1 * path.cc (path_conv::check): Reset FH_CYGDRIVE if iterating through path. 2001-12-07 05:03:32 +00:00
Christopher Faylor a0c1938145 * path.cc (path_conv::check): Don't complain if /dev/x/foo when x doesn't
exist.
(mount_info::conv_to_win32_path): Keep translating when a /cygdrive is found.
Don't attempt to translate to a device name when devn == FH_CYGDRIVE.
(cygwin_conv_to_win32_path): Set buffer to empty on error.
(cygwin_conv_to_full_win32_path): Ditto.
* window.cc: Include unistd.h to verify definitions.
2001-12-06 22:36:08 +00:00
Christopher Faylor 5a88f2554a * dir.cc (opendir): Detect error return from build_fhandler_from_name. 2001-12-05 23:05:15 +00:00
Earnie Boyd 98a05abd05 Merge MinGW CVS differences 2001-12-05 15:01:06 +00:00
Earnie Boyd ff1924262a * include/strings.h: New file. 2001-12-05 13:55:19 +00:00
Christopher Faylor d653df0d95 Add missing ChangeLog entries. 2001-12-05 04:48:15 +00:00
Christopher Faylor 958348a4cf * net.cc (cygwin_getsockopt): Dereference optlen pointer when passing to
__check_null_invalid_struct_errno.
2001-12-04 22:01:03 +00:00
Earnie Boyd 937b5e4d04 2001-12-04 Earnie Boyd <earnie@users.sf.net>
* include/winuser.h (IDC_STATIC): Don't define.
2001-12-04 14:36:40 +00:00
Earnie Boyd 9d2dfde225 2001-12-04 Danny Smith <dannysmith@users.sourceforge.net>
Cleanup merge between SourceForge and winsup CVS.
        * include/winbase.h (OSVERSIONINFO[AW], OSVERSIONINFOEX[AW]: Remove
	definitions.
        * include/winnt.h (VER_NT*): Remove duplicate defines.
        (VER_SUITE*): Group with VER_PLATFORM*, VER_NT* defines.
2001-12-04 13:35:34 +00:00
Christopher Faylor 63928f6088 Cleanup copyrights and Cygnus'isms throughout.
* setup.sgml: Nuke ancient instructions.
2001-12-04 04:20:31 +00:00
Christopher Faylor 8adfbe93d9 remove extra mask info 2001-12-04 04:15:15 +00:00
Christopher Faylor de057251e2 remove extra mask info 2001-12-04 04:14:37 +00:00
Christopher Faylor 48f939e29f * cygcheck.cc (usage): Add -c description.
* cygpath.cc (usage): Alphabetize options.
* strace.cc (usage): Ditto.
2001-12-04 04:12:39 +00:00
Christopher Faylor 7543995b74 * net.cc (cygwin_getsockopt): Allow NULL optval.
* path.cc (mount_info::read_cygdrive_info_from_registry): Don't write cygdrive
to registry if it doesn't exist.
2001-12-03 20:09:33 +00:00
Earnie Boyd 6dfcb5a3a9 2001-12-03 Earnie Boyd <earnie@users.sf.net>
* include/accctrl.h: Change \r\n to \n.

2001-11-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/ipexport.h (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS):
	Add structure definition.
	* include/iptypes.h (IP_PER_ADAPTER_INFO): Ditto.
	* include/iphlpapi.h (AddIPAddress,CreateProxyArpEntry,
	DeleteIPAddress,DeleteProxyArpEntry,EnableRouter,
	FlushIpNetTable,GetAdapterIndex,GetPerAdapterInfo,
	GetUniDirectionalAdapterInfo,SendARP,SetAdapterIpAddress,
	UnenableRouter) Declare functions.
	* lib/iphlpapi.def: Add function names to import lib.

2001-11-24  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/winnt.h (PACCESS_MASK): Add typedef.
	* include/aclapi.h: New file.
	* include/acctrl.h: New file.
	* lib/advapi32.def: Add missing symbols.
	* lib/test.c: Add #include <aclapi.h>.

2001-11-23  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/winbase.h (OSVERSIONINFO[AW],VER_PLATFORM_WIN32s,
	VER_PLATFORM_WIN32_WINDOWS,VER_PLATFORM_WIN32_NT): Move from
	here ...
	* include/winnt.h: ... to here.
	* include/winbase.h (VerifyVersionInfo[AW]): Add declaration.
	* include/winnt.h (OSVERSIONINFOEX[AW]): Add structure definitions
	and typedefs.
	(VER_NT_WORKSTATION,VER_NT_DOMAIN_CONTROLLER,VER_NT_SERVER):
	Add defines.

2001-11-19  Pierre Muller  <muller@ics.u-strasbg.fr>

	* w32api/include/winnt.h: prepare SSE register support.
	(CONTEXT_EXTENDED_REGISTERS): Add new define.
	(MAXIMUM_SUPPORTED_EXTENSION): New define.
	(struct CONTEXT): ExtendedRegisters field added.

2001-11-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/winuser.h (tagALTTABINFO, tagCOMBOBOXINFO,
	tagCURSORINFO, tagMENUBARINFO, tagMENUINFO, tagMONITORINFO
	tagSCROLLBARINFO, tagTITLEBARINFO. tagWINDOWINFO,
	tagLASTINPUTINFO ): Define new structures.
	(EndMenu, GetAltTabInfo[AW],GetComboBoxInfo,GetCursorInfo,
	GetLastInputInfo, GetListBoxInfo, GetMenuBarInfo,
	GetMonitorInfo[AW], GetScrollBarInfo, GetTitleBarInfo,
	GetWindowInfo, GetWindowModuleFileName[AW],GetMenuInfo
	SetMenuInfo): Add new prototypes.
	* lib/user32.def: Add import stubs for above functions.

	* include/winuser.h (IDC_STATIC): Protect against prior
	definition.

2001-11-12  Corinna Vinschen  <corinna@vinschen.de>

	* include/winbase.h (OSVERSIONINFOEX): Add definition.
	* include/winnt.h: Add VER_NT_* and VER_SUITE_* defines.

2001-11-10  Robert Collins  <rbtcollins@hotmail.com>

	* include/winnt.h: Add Danny Smith's text comment about gcc compiler
	warnings with _AUTHORITY #defines.

2001-11-09  Robert Collins  <rbtcollins@hotmail.com>

	* include/winnt.h (GetCurrentFiber): Create a prototype before the
	implementation;
	(GetFiberData): Ditto.

2001-11-09  Robert Collins  <rbtcollins@hotmail.com>

	* include/winnt.h: Backout last change.
2001-12-03 19:59:34 +00:00
Christopher Faylor 2a50e3df6f * path.cc (mount_info::conv_to_win32_path): Avoid returning error if cygdrive
== '/'.
(mount_info::cygdrive_win32_path): Return 0 if invalid cygdrive path.
2001-12-03 16:47:18 +00:00
Christopher Faylor 7b80d68f4c minor reformatting. 2001-12-02 05:23:26 +00:00
Christopher Faylor 1cf0d8510a * debug.cc (makethread): Eliminate unneeded function call.
* miscfuncs.cc (tls_ix): Predefine.
* perthread.h (set_reent): Eliminate.
(get_reent): Ditto.
* winbase.h (my_tlsalloc): Use global stack base pointer.  Set newly allocated
location to NULL.
(my_tlssetvalue): Use global stack base pointer.
(my_tlsgetvalue): Ditto.
2001-11-30 06:19:58 +00:00
Christopher Faylor 558f1fb418 * winsup.h: Reorganize to avoid use of experimental stuff.
* shortcut.cc: Move winsup.h first in include order.
2001-11-28 02:36:32 +00:00
Christopher Faylor 0caa03b00a Add attribution. 2001-11-28 01:54:05 +00:00
Christopher Faylor 4d029f3940 * cygwin.din (ualarm): New export.
* dcrt0.cc (_dll_crt0): Add experimental tls storage declaration.
(dll_crt0): Ditto.
* debug.cc (thread_stub): Ditto.
* thread.cc: Minor cleanup.
(__pthread_create): Add experimental tls storage declaration.
* miscfuncs.cc: Define tls index.
* winsup.h: Declare experimental tls storage.
* window.cc (alarm): Use old timer return from setitimer.
(ualarm): New function.
2001-11-28 00:06:35 +00:00
Christopher Faylor 505f9ba17a Revert erroneous checkin. 2001-11-26 20:21:27 +00:00
Christopher Faylor 94c0e197f0 * Makefile.in (libcygwin.a): Use ar commands to build libcygwin.a since adding
an archive doesn't work the way we want it to.
2001-11-26 20:20:42 +00:00
Corinna Vinschen c74b8922ae Add missing ChangeLog entries. 2001-11-25 09:55:15 +00:00
Christopher Faylor ded250563f * fhandler_disk_file.cc (fhandler_cygdrive::readdir): Avoid reporting
inaccessible drives.
2001-11-25 03:28:16 +00:00
Corinna Vinschen 21e379455a * net.cc (cygwin_hstrerror): Allow s == NULL.
(cygwin_rcmd): Add parameter checking.
	(cygwin_rexec): Ditto.
2001-11-24 21:52:28 +00:00
Corinna Vinschen b0fa0e6e0f * net.cc (cygwin_inet_ntoa): Add parameter checking.
(cygwin_inet_network): Return INADDR_NONE instead of 0 in case of
	EFAULT.
	(cygwin_hstrerror): Add parameter checking.
	(cygwin_rresvport): Ditto.
	(socketpair): Ditto.
	* winsup.h (check_null_str): Add extern declaration.
2001-11-24 21:10:00 +00:00
Christopher Faylor 28d3cc021d * path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid matching
trailing component, like other devices.
2001-11-24 21:05:00 +00:00
Christopher Faylor 3409763ff3 * autoload.cc (IsDebuggerPresent): Make conditional load since it is not
available everywhere.
* path.cc (mount_info::conv_to_win32_path): Only consider /cygdrive to be
FH_CYGDRIVE, not /cygdrive/x.
2001-11-24 20:57:19 +00:00
Christopher Faylor 53a12585ac * net.cc (inet_makeaddr): Revert previous change. 2001-11-24 17:31:15 +00:00
Christopher Faylor 4e5289d848 * path.cc (chdir): Allow 'cd /cygdrive'. 2001-11-24 03:35:58 +00:00
Christopher Faylor c7cf3563f0 Fix typo. 2001-11-24 03:25:07 +00:00
Christopher Faylor c123b1f3a1 fix typo. 2001-11-24 03:12:41 +00:00
Christopher Faylor 5a64d86941 * dtable.cc (dtable::vfork_parent_restore): Add debugging statement.
* exceptions.cc (try_to_debug): Spin only as long as we don't have a debugger
attached.
* fhandler.h (fhandler_base::set_nohandle): New method.
(fhandler_base::get_nohandle): New method.
* fhandler.cc (fhandler_base::dup): Avoid duplicating handle if there is no
handle.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set nohandle flag on
dummy fd.
* Makefile.in: Make intermediate library for eventual inclusion in libcygwin.a
* fhandler.h (fhandler_pipe::fhandler_pipe): Remove default argument setting
since it is no longer used.
* miscfuncs.cc (check_null_str): New function.
(+check_null_str_errno): Ditto.
* net.cc: Add defensive buffer checking throughout.
(cygwin_sendto): Protect against invalid fd.
(cygwin_recvfrom): Ditto.
(cygwin_getpeername): Ditto.
(cygwin_recv): Ditto.
(cygwin_send): Ditto.
* winsup.h: Declare a new function.
* select.cc (set_bits): Fix conditional for setting fd in exceptfds.
* dtable.cc (dtable::build_fhandler): Create fhandler_pipe using correct device
type.
* path.cc (get_devn): Set correct pipe device type from device name.
2001-11-24 03:11:39 +00:00
Christopher Faylor 97a2e0756d * path.cc (conv_path_list): Fix wild indexing into path due to conflicting
methods for setting src pointer.
* dir.cc (opendir): Only pass path_conv argument to opendir, since name is
already part of the fhandler.
* dtable.cc (dtable::build_fhandler): Accomodate new FH_CYGDRIVE type.
* fhandler.cc (fhandler_base::opendir): Nuke name argument.
* fhandler.h: Add FH_CYGDRIVE to "device" enum.
(fhandler_base::opendir): Nuke name argument.
(fhandler_disk_file::opendir): Ditto.
(fhandler_disk_file::fhandler_disk_file): Declare new method which passes
devtype through.
(fhandler_cygdrive): Add elements for tracking drives.
(fhandler_cygdrive::set_drives): Declare new method.
(fhandler_cygdrive::iscygdrive_root): Declare new method.
(fhandler_cygdrive::opendir): Declare new method.
(fhandler_cygdrive::readdir): Declare new method.
(fhandler_cygdrive::telldir): Declare new method.
(fhandler_cygdrive::seekdir): Declare new method.
(fhandler_cygdrive::rewinddir): Declare new method.
(fhandler_cygdrive::closedir): Declare new method.
(fhandler_cygdrive::fstat): Declare new method.
* fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file): Define new
method which passes devtype through.
(fhandler_disk_file::open): Tweak debug output.
(fhandler_disk_file::opendir): Nuke first argument.  Use info from path_conv
and class rather than calling fstat.
(fhandler_cygdrive::set_drives): New method.
(fhandler_cygdrive::iscygdrive_root): New method.
(fhandler_cygdrive::opendir): New method.
(fhandler_cygdrive::readdir): New method.
(fhandler_cygdrive::telldir): New method.
(fhandler_cygdrive::seekdir): New method.
(fhandler_cygdrive::rewinddir): New method.
(fhandler_cygdrive::closedir): New method.
(fhandler_cygdrive::fstat): New method.
* path.cc (iscygdrive_device): Assume cygdriveness is already verified.
(path_conv::check): Treat FH_CYGDRIVE "method" as a special case, setting file
attributes as needed.
(mount_info::conv_to_win32_path): Allow stand-alone /cygdrive, meaning "the
directory which contains all of the drives on the system".
(fillout_mntent): Use cyg_tolower for conversions.
(mount_info::cygdrive_win32_path): Replace unused argument with unit number.
* shared_info.h (mount_info::cygdrive_win32_path): Reflect argument change.
2001-11-22 05:59:07 +00:00
Christopher Faylor 53e61a867b * path.cc (cygpath): Don't consider cygpath stuff when trying to derive native
paths.
2001-11-22 00:29:04 +00:00
Corinna Vinschen 87f1a487ed Patch by Pierre Muller <muller@ics.u-strasbg.fr>:
* w32api/include/winnt.h: prepare SSE register support.
	(CONTEXT_EXTENDED_REGISTERS): Add new define.
	(MAXIMUM_SUPPORTED_EXTENSION): New define.
	(struct CONTEXT): ExtendedRegisters field added.
2001-11-21 23:13:59 +00:00
Corinna Vinschen 1d3dc11398 Patch by Mark Bradshaw <bradshaw@staff.crosswalk.com>:
* mkpasswd.c: include lmerr.h
	(main): New -u option to allow specifying a
	specific user.  If specified, groups aren't displayed and
	output is limited to only the specified user.
	(enum_users): If specific user is specified, via -u option,
	display only that user's record.  With -u use NetUserGetInfo
	instead of NetUserEnum.
	(load_netapi): Added netusergetinfo.
2001-11-21 10:39:43 +00:00
Christopher Faylor 7903ee6955 * Makefile.in (DLL_OFILES): Add fhandler_disk_file.o.
* cygheap.h (cygheap_fdnew::operator =): New operator.
* dir.cc: Add invalid struct checking throughout.  Use methods for all
directory manipulation throughout.
* fhandler.cc: Move fhandler_disk_file stuff to own file.
(fhandler_base::opendir): New method.
(fhandler_base::readdir): New method.
(fhandler_base::telldir): New method.
(fhandler_base::seekdir): New method.
(fhandler_base::rewinddir): New method.
(fhandler_base::closedir): New method.
* fhandler_disk_file.cc: New file.
* fhandler.h (fhandler_base): Declare new virtual methods.
(fhandler_disk_file): Ditto.
(fhandler_cygdrive): New class.
* path.cc (conv_path_list): Use strccpy to break apart path.
2001-11-21 06:47:57 +00:00
Christopher Faylor f6a6c2a358 Change copyright. 2001-11-21 04:21:36 +00:00
Egor Duda 62a602939b * winsup.api/pthread/condvar3_1.c: Fix debugging output. 2001-11-17 21:15:47 +00:00
Christopher Faylor 9c6a5c6ea8 * path.cc (conv_path_list): Copy source paths before modifying them. 2001-11-17 20:19:19 +00:00
Corinna Vinschen 33f0f67db7 * strace.cc (main): Change getopt() to getopt_long().
Add support for help and version info.
	Use new parse_mask() function for -m/--mask option.
	(longopts): Add long options structure.
	(opts): Move options string from getopts call to static var.
	(usage): Print usage information.
	(SCCSid): Version info.
	(version): New function for displaying version info.
	(parse_mask): New function supporting parsing of mnemonics,
	hex, and basic expressions in masks.
	(mnemonic2ul): New mnemonic parsing function.
	(tag_mask_mnemonic): New type.
	(mnemonic_table): New table of mnemonics for mnemonic2ul() to
	search through.
2001-11-17 09:48:09 +00:00
Corinna Vinschen 42d292493b * fhandler_raw.cc (fhandler_dev_raw::clear): Don't reset unit.
* fhandler_tape.cc (fhandler_dev_tape::fhandler_dev_tape): Add debug
	output.
2001-11-16 23:28:56 +00:00
Egor Duda 112ef24b52 Fix typo. 2001-11-15 11:27:15 +00:00
Egor Duda 4800c7477b * winsup.api/pthread/: New directory. Ports of pthread functionality
tests ported from pthreads-win32 project.
* winsup.api/pthread/test.h: Commmon declaraions for pthread tests.
* winsup.api/pthread/cleanup2.c: New test.
* winsup.api/pthread/cleanup3.c: Ditto.
* winsup.api/pthread/condvar1.c: Ditto.
* winsup.api/pthread/condvar2.c: Ditto.
* winsup.api/pthread/condvar2_1.c: Ditto.
* winsup.api/pthread/condvar3.c: Ditto.
* winsup.api/pthread/condvar3_1.c: Ditto.
* winsup.api/pthread/condvar3_2.c: Ditto.
* winsup.api/pthread/condvar3_3.c: Ditto.
* winsup.api/pthread/condvar4.c: Ditto.
* winsup.api/pthread/condvar5.c: Ditto.
* winsup.api/pthread/condvar6.c: Ditto.
* winsup.api/pthread/condvar8.c: Ditto.
* winsup.api/pthread/count1.c: Ditto.
* winsup.api/pthread/create1.c: Ditto.
* winsup.api/pthread/create2.c: Ditto.
* winsup.api/pthread/equal1.c: Ditto.
* winsup.api/pthread/exit1.c: Ditto.
* winsup.api/pthread/exit2.c: Ditto.
* winsup.api/pthread/exit3.c: Ditto.
* winsup.api/pthread/inherit1.c: Ditto.
* winsup.api/pthread/join0.c: Ditto.
* winsup.api/pthread/join1.c: Ditto.
* winsup.api/pthread/join2.c: Ditto.
* winsup.api/pthread/mutex1.c: Ditto.
* winsup.api/pthread/mutex1r.c: Ditto.
* winsup.api/pthread/mutex2.c: Ditto.
* winsup.api/pthread/mutex3.c: Ditto.
* winsup.api/pthread/mutex6r.c: Ditto.
* winsup.api/pthread/once1.c: Ditto.
* winsup.api/pthread/priority1.c: Ditto.
* winsup.api/pthread/priority2.c: Ditto.
* winsup.api/pthread/self1.c: Ditto.
* winsup.api/pthread/self2.c: Ditto.
* winsup.api/pthread/tsd1.c: Ditto.
2001-11-15 11:19:48 +00:00
Egor Duda f38ac9b70c * include/pthread.h (PTHREAD_COND_INITIALIZER): Define.
* thread.cc (__pthread_cond_destroy): Add support for
PTHREAD_COND_INITIALIZER.
(__pthread_cond_init): Ditto.
(__pthread_cond_broadcast): Ditto.
(__pthread_cond_signal): Ditto.
(__pthread_cond_dowait): Ditto.
(__pthread_mutex_init): Handle PTHREAD_MUTEX_INITIALIZER correctly,
don't return error when it's passed as parameter.
* winsup.h (check_null_invalid_struct): Call correct function.
2001-11-15 11:10:38 +00:00
Christopher Faylor e2b3dc2580 * exceptions.cc: Add stdlib.h include for alloca declaration.
* poll.cc: Ditto.
* termios.cc: Ditto.
* syscalls.cc (_write): Only allow zero length when fd is valid.
2001-11-15 03:25:52 +00:00
Corinna Vinschen 7158264315 * fhandler.cc (fhandler_disk_file::fstat): Add setting access time
and creation time to last modification time for files on filesystems
	not supporting multiple timestamps.
	(fhandler_disk_file::fstat_helper): Set access time and creation
	time in incoming Windows structure instead of in stat buf to avoid
	incorrectly overwriting Epoch timestamp.
2001-11-14 21:47:41 +00:00
Corinna Vinschen ac0ac6534d * winsup.h: Remove alloca definition since it's now defined through
inclusion of stdlib.h.
	* lib/cygwin_crt0.c: Ditto.
2001-11-14 10:47:54 +00:00
Christopher Faylor 65814395b6 * syscalls.cc (_write): Allow zero length as per SUSv2. 2001-11-14 04:12:11 +00:00
Corinna Vinschen 03adcc0fda * dir.cc (mkdir): Add HIDDEN file attribute if file has leading dot
and HIDDEN_DOT_FILES is defined.
	* fhandler.cc (fhandler_base::open): Ditto.
	* path.cc (symlink): Ditto.
	* syscalls.cc (_rename): Ditto and remove HIDDEN file attribute if
	new filename does not begin with a dot.
2001-11-13 21:49:06 +00:00
Corinna Vinschen 1716f3b52e Fix ChangeLog entry. 2001-11-12 21:56:31 +00:00
Corinna Vinschen d1ba802d67 * cygcheck.cc (dump_sysinfo): Redefine output format slightly. 2001-11-12 21:55:39 +00:00
Christopher Faylor e1af9739e0 * cygcheck.cc (main): Slight formatting tweak. 2001-11-12 21:28:32 +00:00
Corinna Vinschen 5e051b1bf7 * cygcheck.cc (dump_sysinfo): Add some more details. 2001-11-12 20:21:43 +00:00
Christopher Faylor daccfdf9ef Add missing ChangeLog entry. 2001-11-12 18:22:41 +00:00
Corinna Vinschen e4087b7526 * cygcheck.cc (dump_sysinfo): Print more detailed OS information string
using OSVERSIONINFOEX information.
2001-11-12 17:55:52 +00:00
Corinna Vinschen 192b4f6261 * include/winbase.h (OSVERSIONINFOEX): Add definition.
* include/winnt.h: Add VER_NT_* and VER_SUITE_* defines.
2001-11-12 17:53:47 +00:00
Christopher Faylor 697b8c0c32 * fhandler_console.cc (fhandler_console::read): Revert 2001-10-23 change to
only honor keydown events.
2001-11-12 17:06:50 +00:00
Christopher Faylor a36ee0b6b9 * include/cygwin/version.h: Bump version to 1.3.6. 2001-11-12 00:40:29 +00:00
Christopher Faylor 64bd8a83af * path.h: New file. 2001-11-12 00:19:17 +00:00
Christopher Faylor 71f90de808 * cygcheck.cc (scan_registry): Open registry with read-only access.
(main): Reflect argument change for dump_setup.
* dump_setup.cc (dump_setup): Add preliminary extra argument for future use.
* path.cc (read_mounts): Open registry with read-only access.
2001-11-12 00:14:27 +00:00
Christopher Faylor fcc8ea58ce fix typo. 2001-11-11 06:55:35 +00:00
Christopher Faylor da9e28d0fa * cygcheck.cc (main): Display package info when '-s' is specified.
* dump_setup.cc (dump_setup): Change header.  Remove typo.  Always sort
packages output.
2001-11-11 06:16:18 +00:00
Christopher Faylor d0d517913c * dump_setup.cc: New file.
* Makefile.in: Add info for dump_setup.o.
* cygcheck.cc (main): Recognize '-c' option for checking setup installed base.
* path.cc (cygpath): Read mount table if not loaded.
2001-11-11 06:07:36 +00:00
Christopher Faylor 2fac517df4 * Makefile.in (cygcheck.exe): Compile as -mno-cygwin executable.
* path.cc: New file.
* cygcheck.cc (init_paths): Use MS-DOS path syntax.
(cygwin_info): Properly display cygwin version numbers.  Prettify some output.
(dump_sysinfo): Calculate max names of posix and ms-dos paths for prettier
output.
2001-11-11 03:06:59 +00:00
Christopher Faylor c8b3452829 * dtable.cc (dtable::build_fhandler): Don't increment console fd count if new
operation fails.  Increment fork_fixup field here.
(dtable::dup2): Don't increment fork_fixup field here.
(fdsock): Ditto.
2001-11-10 19:46:15 +00:00
Corinna Vinschen 9a6c0a241b * cygcheck.cc (dump_sysinfo): Print more detailed OS information string. 2001-11-09 17:18:36 +00:00
Robert Collins 4d1fdcb6f8 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Add Danny Smith's text comment about gcc compiler warnings
        with _AUTHORITY #defines.
2001-11-09 13:23:54 +00:00
Robert Collins d0d69f141d 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h (GetCurrentFiber): Create a prototype before the implementation;
        (GetFiberData): Ditto.
2001-11-09 11:34:26 +00:00
Robert Collins 29c63d063f 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Backout last change.
2001-11-09 08:31:37 +00:00
Corinna Vinschen 461903013c * checksignal.c: New testcase. 2001-11-08 21:04:05 +00:00
Corinna Vinschen 80a429d20a * select.cc: Set errno using set_sig_errno() throughout.
* signal.cc (signal): Always set SA_RESTART flag.
	* syscalls.cc (_read): Revert previous patch.
2001-11-08 17:49:52 +00:00
Corinna Vinschen 036fd823dc * select.cc (fhandler_tty_slave::ready_for_read): Return 0 on EBADF.
* syscalls.cc (_read): If ready_for_read() failed, save errno from
	being overwritten by signal handler call.
2001-11-08 15:01:44 +00:00
Robert Collins 418c02db8f 2001-11-08 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Define *_SID_AUTHORITY appropriately. (nested
        structures.)
        GetCurrentFiber: Create a prototype before the implementation;
        GetFiberData: Ditto.
2001-11-07 14:11:41 +00:00
Robert Collins 4cecec6cde 2001-11-08 Robert Collins <rbtcollins@hotmail.com>
* include/errno.h: Fix "errno is not a prototype" warning.
2001-11-07 14:10:25 +00:00
Corinna Vinschen e2c07930f7 * lib/getopt.c (getopt_internal): Reset optind to 1 only if optreset
is not set.
2001-11-07 11:47:23 +00:00
Christopher Faylor d0e406c653 * select.cc (fhandler_tty_slave::ready_for_read): Correct inverted not_open
test.
2001-11-06 18:02:56 +00:00
Christopher Faylor 82105181d8 * include/cygwin/version.h: Bump version to 1.3.5. 2001-11-05 23:13:47 +00:00
Corinna Vinschen 910e57ec84 * mmap.cc (mmap_record::find_empty): Add input parameter check. 2001-11-05 20:58:22 +00:00
Egor Duda 48da07548b * Makefile.in: Delete unused executable after creating base-files. 2001-11-05 13:16:41 +00:00
Christopher Faylor 9c510edc61 Eliminate excess whitespace. 2001-11-05 06:09:15 +00:00
Christopher Faylor a9ae96dde4 Add strace debugging section. 2001-11-05 03:16:58 +00:00
Christopher Faylor 58eac090a3 * dtable.cc (dtable::build_fhandler): Fix debug_printf to avoid SEGV due to
incorrect parameter placement.
2001-11-05 02:45:42 +00:00
Christopher Faylor e25e893d6b * fhandler.h (fhandler_pipe::broken_pipe): Renamed from saweof.
(fhandler_pipe::set_eof): Reflect above change.
* pipe.cc (fhandler_pipe::fhandler_pipe): Ditto.
(fhandler_pipe::read): Ditto.
(fhandler_pipe::hiteof): Ditto.
2001-11-05 01:52:20 +00:00
Christopher Faylor 6e8b4dcdf1 * pipe.cc (fhandler_pipe::read): Narrow eof return to just the "broken pipe"
test.
2001-11-05 01:44:02 +00:00
Christopher Faylor 915d1824f7 * select.cc: Add more comments throughout. Use bool 'true' where appropriate
throughout.
(fhandler_socket::select_read): Remove duplicate setting for *_ready which
inadvertently overrode previous, correct setting.
(fhandler_socket::select_write): Ditto.
2001-11-05 00:29:27 +00:00
Christopher Faylor 79ec82139e * lib/Makefile.in: Add .NOTPARALLEL target since dlltool cannot run in parallel
invocations.
* lib/scrnsave.c (WinMain): Trivial change to avoid a compiler warning.
2001-11-04 20:38:00 +00:00
Corinna Vinschen 56c29a3c87 * getfacl.c (username): New function.
(groupname): Ditto.
	(usage): Ditto.  Add more user friendly help text.
	(main): Add -n and --help option.  Print names instead of IDs
	unless -n option is given.
	* setfacl.c (getperm): Tolerate whitespace and comment chars in input.
	(getaclentry): Fix several input string misdetections.
	(getaclentries): Allow - as input file name to read from stdin.
	Tolerate whitespace and comment chars in input.
	(usage): Add more user friendly help text.
	(main): Add --help option.
2001-11-04 17:24:24 +00:00
Egor Duda 86fbc3d90b * strace.cc (main): New option '-w'. Start traced process in separate
window. New option '-S x'. Flush buffered output every x seconds.
(create_child): Start child process in new window, when requested.
When requested, periodically flush debugging output.
2001-11-04 12:57:55 +00:00
Christopher Faylor 7cf5e175fe * Makefile.in: Force configure in testsuite directory if config.status does not
exist.
2001-11-04 05:15:16 +00:00
Christopher Faylor c5900b959b * Makefile.in: Oops. Revert previous change. Add Makefile/Makefile.in
dependency.
2001-11-04 05:14:16 +00:00
Christopher Faylor 35a0c9377f * Makefile.in: Add check target. 2001-11-04 05:06:23 +00:00
Christopher Faylor e8f1743129 * configure.in: Disable subauth directory test.
* configure: Regenerate.
* Makefile.in: Use MAKE variable in directory builds.
2001-11-04 03:48:36 +00:00
Christopher Faylor 15d0cbd6df * Makefile.in: Add directory dependencies to ensure ordering when using 'make
-jN'.
2001-11-04 03:42:19 +00:00
Christopher Faylor 763f09b97d * select.cc (verify_console): New function.
(verify_windows): Ditto.
(fhandler_console::select_read): Really do need to verify that there is
something to read.
(fhandler_console::select_windows): Ditto.
2001-11-04 03:29:15 +00:00
Christopher Faylor 476dfb657b * fhandler.h (fhandler_base::ready_for_read): Remove unused argument.
(fhandler_tty_slave::ready_for_read): Ditto.
(select_record): Remove poll, initialize peek.
* select.cc: Remove all poll functions, throughout.  Change second argument of
peek_* functions to 'bool' throughout.  Specifically initialize *_ready
variables throughout.
(select_stuff::poll): Subsume previous poll functionality.
(peek_pipe): Don't grab guard mutex when in select loop.  select()/read() is
racy by design so there is no need to worry about a race in select().
(fhandler_base::ready_for_read): Remove unused argument.
(fhandler_tty_slave::ready_for_read): Ditto.
* syscalls.cc (_read): Eliminate third argument in ready_for_read call.
2001-11-04 02:31:58 +00:00
Corinna Vinschen f41d24a14d * security.cc (get_supplementary_group_sidlist): New function.
(get_group_sidlist): Call get_supplementary_group_sidlist() to
	retrieve list of supplementary groups SIDs from /etc/group and
	add them to the user's group list.
2001-11-03 21:19:50 +00:00
Christopher Faylor ed14f73cc2 * Makefile.common: Remove preferred-stack-boundary setting since gcc 2.95.3
doesn't work well with it.
2001-11-03 19:56:52 +00:00
Christopher Faylor c41570695a * fhandler.cc (fhandler_base::read): Return just read ahead characters if slow
device.
* fhandler.h (fhandler_base::set_eof): New virtual method.
(fhandler_pipe::set_eof): New method.
* pipe.cc (fhandler_pipe::fhandler_pipe): Clear saweof flag.
(fhandler_pipe::read): Return immediately if hit eof.
(fhandler_pipe::hit_eof): Return true if saweof flag is set.
* select.cc (peek_pipe): Don't call PeekNamedPipe if we couldn't grab the guard
mutex.
2001-11-03 05:42:21 +00:00
Christopher Faylor 243a041bd0 * dll_init.h (class dll_list): Reorder functions to avoid compiler "can't
inline" warnings.
* security.h (class cygsid): Ditto.
* sigproc.cc (get_proc_lock): Ditto.
* sigproc.h (class sigframe): Ditto.
* sync.h (class muto): Ditto.
* fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as previously
indicated.
* pipe.cc (make_pipe): Remove extraneous set_errno.
* syscalls.cc (_open): Ditto.
* select.cc (peek_pipe): Need to check that there is still something to read
from the pipe after acquiring the mutex since another process/thread could have
eaten the input before we got to acquiring the lock.  (Thanks to Nick Duffek
for this inspiration.)
2001-11-03 03:32:27 +00:00
Egor Duda 01432054cb * libltp/lib/forker.c: Include proper header to avoid compiler
warning.
2001-11-02 20:45:00 +00:00
Christopher Faylor d58f43a1bc * Makefile.common: Add some stuff to common CFLAGS. 2001-11-02 04:44:42 +00:00
Christopher Faylor 0378d00f52 * fhandler.h: Change Windows 'BOOL's to c++ 'bool's for all variables.
* select.cc (fhandler_base::ready_for_read): Set read_ready to zero prior to
testing it or it will be uninitialized.
* Makefile.in (CFLAGS): Move setting to Makefile.common.
2001-11-02 04:44:06 +00:00
Christopher Faylor 53f0029081 * cygheap.h (cygheap_fdmanip::isopen): Set appropriate errno if fd not open.
* select.cc (fhandler_base::ready_for_read): Release an open guard mutex when
exiting with an error condition.
* syscalls.cc (_read): Check frequently for closed fd as a kludge until
something better is invented.
2001-11-01 23:48:34 +00:00
Christopher Faylor 1229d4f4ee * dtable.cc (dtable::build_fhandler): Issue internal error on unknown device.
* fhandler.cc (fhandler_base::close): Show both name and handle in debugging
output.
* fhandler.h (fhandler_base::get_guard): New virtual method.
(fhandler_pipe::get_guard): New method.
(fhandler_socket::ready_for_read): Delete declaration.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(struct select_record::peek): Declare new method.
* select.cc (MAKEready): Delete.
(peek_pipe): Use get_guard method to retrieve potential guard mutex handle.
(fhandler_base::ready_for_read): Rewrite as generic ready-for-read handler.
Should only be called for "slow" devices.
(fhandler_socket::ready_for_read): Delete definition.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(fhandler_pipe::select_read): Fill in new peek record in select_record
structure.
(fhandler_console::select_read): Ditto.
(fhandler_tty_common::select_read): Ditto.
(fhandler_serial::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_tty_slave::ready_for_read): Check for tty not open.  Set errnos
appropriately.
* syscalls.cc (_read): Allow ready_for_read to set errno.
* pinfo.cc (pinfo::init): Return spawn/NO_WAIT process as valid if it is
initializing.
* sigproc.cc (getsem): Adjust wait for process to initialize downward to avoid
huge waits.
2001-11-01 21:15:53 +00:00
Earnie Boyd 5cf6708ef4 2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/io.h (_commit): Add declaration.
	Thanks to: "stefan" <stefan@lkcc.org>

2001-10-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/sys/stat.h: Make S_IS* macros safer.

2001-10-27  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/stdlib.h (EXIT_FAILURE): Change value to 1.

2001-10-12  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/stdlib.h (__p__environ, __p__wenviron): Use
	__STDC__ prototypes.
2001-11-01 19:51:50 +00:00
Earnie Boyd 44506780d9 2001-11-01 Danny Smith <dannysmith@users.sourceforge.net>
* include/basetyps.h (DECLARE_INTERFACE): Don't add
	__attribute__((com_interface)) for __GNUC__ >= 3.

2001-11-01  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/commdlg.h (PRINTPAGERANGE): Add structure
	definition.
	(PRINTDLGEX[AW]): Likewise.
	(PrintDlgEx[AW]): Add function declaration.
	* lib/comdlg32.def (PrintDlgEx[AW]): Add function stubs.
	* ChangeLog: Fix typo in last entry.


2001-11-01  TAMURA Kent  <tkent@users.sourceforge.net>

	* include/objbase.h (CoGetClassObject): Change third parameter
	to COSERVERINFO*.

2001-10-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/winuser.h (MOUSEEVENTF_WHEEL): Define.
	Thanks to: Kim Saunders.
	* include/oleauto.h: Define VARIANT* flags for VariantChangeType.
	Thanks to: Pat Thoyts.
	* include/winnt.h: Change C++ style comment to C style.
 	* include/shlobj.h: Ditto.
	* include/objbase.h (enum tagCOINIT): Remove comma at end of
	list.
	* include/oledlg.h (enum tagOLEUIPASTEFLAG): Ditto.
	* include/oleidl.h (enum tagDROPEFFECT): Mark as __extension__
	(enum not limited to range of int).
	* include/oaidl.h (struct tagVARIANT): Mark as __extension__
	(struct with no named members), ifndef NONAMELESSUNION.

2001-10-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/winuser.h (CREATESTRUCT): UNICODE it.
	(CBT_CREATEWND): Likewise.

2001-10-20  Corinna Vinschen  <corinna@vinschen.de>

	* include/winnetwk.h (WNetGetResourceInformationA): Add declaration.
	(WNetGetResourceInformationW): Ditto.
	(WNetGetResourceInformation): Add define.

2001-10-12  Pedro A Aranda  <paaguti@hotmail.com>

	* include/winuser.h (POINTSTOPOINT): Use explicit casts
	before extracting words.
2001-11-01 19:42:57 +00:00
Christopher Faylor 747e577331 * environ.cc: Set reset_com to false to mimic linux behavior more closely. 2001-10-31 16:30:46 +00:00
Corinna Vinschen 928eca7a58 * dtable.cc (dtable::vfork_child_dup): Revert impersonation
before duplicating fhandler.
2001-10-31 12:03:45 +00:00
Christopher Faylor 34397675de remove garbage ChangeLog entry. 2001-10-31 05:35:28 +00:00
Christopher Faylor 774cd790fc * sigproc.cc (sigproc_terminate): Don't signal main thread when exiting.
* sigproc.h (sigframe): Decorate some methods with `inline'.
(new_muto): Coerce pointer to new to void *.
2001-10-31 02:58:38 +00:00
Christopher Faylor 0fc07e4d69 * fhandler.cc (fhandler_base::fork_fixup): Pass old handle to setclexec_pid. 2001-10-31 02:03:00 +00:00
Christopher Faylor 6ea0c04e7c * cygheap.h (cygheap_fdmanip::cygheap_fdmanip): Clear fh.
(cygheap_fdmanip::isopen): New method.
* syscalls.cc (_read): Avoid accessing closed fd.
* path.h (fe_types): New enum.
(path_conv::set_path): New method.
(find_exec): Change null_if_not_found argument to something more generic.
* spawn.cc (find_exec): Default to returning the POSIX path rather than the
windows path, unless instructed otherwise.
(spawn_guts): Force call to find_exec to use native paths.
* dlfcn.cc (check_path_access): Accommodate new find_exec arguments.
* environ.h (win_env::get_posix): New method.
2001-10-31 00:55:32 +00:00
Corinna Vinschen 05230a4a29 * fhandler_socket.cc (fhandler_socket::close): Add error handling.
Fixed ChangeLog entries.
2001-10-30 11:48:36 +00:00
Corinna Vinschen fc79ce17c7 * (fhandler_socket::dup): Revert previous change. 2001-10-30 10:07:39 +00:00
Christopher Faylor 19ba6f2195 * dtable.cc (dtable::dup2): Add some debugging. Use methods from passed in
class rather than cygheap->fdtab.
* fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add more
debugging output.
(fhandler_socket::dup): Allocate new space for prot_info_ptr for duplicated
entry.
* syscalls.cc (stat_worker): Always delete fh if it has been created.
2001-10-30 07:43:46 +00:00
Corinna Vinschen 3d4b75dec2 * security.cc (is_group_member): Call NetLocalGroupGetMembers() for
local machine only.
	(get_user_local_groups): Ditto for NetLocalGroupEnum().
2001-10-30 00:02:36 +00:00
Christopher Faylor 7a47ed496c * Makefile.in: Propagate 'clean' to subdirs properly. 2001-10-29 20:32:27 +00:00
Christopher Faylor 8dd6060b98 * fhandler.cc (fhandler_base::set_name): Set namehash here to catch name
changes.
(fhandler_base::open): Remove namehash setting.
(fhandler_base::fstat): Subtract 1 from arbitrary time setting to avoid strange
ls -l granularity problem.
* shared_info.h (MOUNT_VE
2001-10-29 20:30:47 +00:00
Egor Duda 3fbfb55efe * winsup.api/ltp/stat03.c: Supress compiler warning. 2001-10-29 20:03:06 +00:00
Egor Duda bd65358b34 * winsup.api/signal-into-win32-api.c: Supress compiler warning. 2001-10-29 19:45:43 +00:00
Christopher Faylor cdd8cb1f2a * select.cc (MAKEready): Remove extraneous select_read. 2001-10-29 16:12:47 +00:00
Corinna Vinschen ac19c8dcf6 * uinfo.cc (internal_getlogin): Set environment variable $HOME
from either /etc/passwd or $HOMEDRIVE/$HOMEPATH if necessary.
2001-10-29 11:53:52 +00:00
Christopher Faylor 711ded6d28 * fhandler.h (fhandler_serial::fhandler_serial): Change to only accept unit
argument.
* fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto.
(fhandler_serial::open): Avoid else when previous clause is a return().
* path.cc (get_devn): Alias /dev/ttyS0 -> /dev/com1, etc.
(get_device_number): Reallow standalone "com1" as a valid name for /dev/com1.
2001-10-29 05:28:24 +00:00
Christopher Faylor aa9d50a1c1 fix spelling errors 2001-10-28 23:05:49 +00:00
Christopher Faylor 451386f769 fix consistent spelling errors. 2001-10-28 18:10:44 +00:00
Corinna Vinschen be846a19d7 * configure: Regenerate, removing erroneous SUBDIRS substitution. 2001-10-26 15:01:08 +00:00
Christopher Faylor fe00cca93e * select.cc (MAKEready): Check for read_ready in loop since select_read could
set it.
(peek_socket): Check ready/write/except specifically since they could have been
set even prior to peek_socket call.
2001-10-26 04:06:27 +00:00
Christopher Faylor 53c79b98c9 Clarify checkin comment slightly. 2001-10-24 23:56:45 +00:00
Christopher Faylor 7ee2c95756 * shared_info.h (MOUNT_VERSION): Change to a smaller, still arbitrary number.
* shared.cc (open_shared): Accept a number to denote the shared memory region.
(memory_init): Use shared memory version as part of the object name of the
shared region.  Ditto for the mount table.
* path.cc (CYGWIN_REGNAME): New define used in place of
CYGWIN_INFO_CYGWIN_REGISTRY_NAME throughout.
* external.cc (cygwin_internal): Implement CW_[GS]ET_CYGWIN_REGISTRY_NAME.
* cygheap.h (init_cygheap::cygwin_regname): New element.
2001-10-24 22:10:06 +00:00
Christopher Faylor ae21eea62e * Makefile.in: Remove EXEEXT consideration. We always need EXEEXT. 2001-10-24 22:09:37 +00:00
Christopher Faylor a9f20457f3 * Makefile.in: Only build testsuite directory on first 'make check'.
* configure.in: Remove testsuite from SUBDIRS.
* configure: Regenerate.
2001-10-24 21:56:54 +00:00
Christopher Faylor a830378213 Remove merge conflict indicator. 2001-10-24 15:40:24 +00:00
Christopher Faylor a0626ebe27 Ensure that all fhandler_*::read definitions are __stdcall throughout.
* fhandler.cc (fhandler_base::set_inheritance): Be more defensive in debugging
code.
* fhandler.h: Adjust regparms throughout to reflect passing 'this' parameter.
* fhandler_console.cc (fhandler_console::read): Remove unneeded test.  Only
honor "key down" events.
* miscfuncs.cc (strcasestr): Reorganize for efficient code use.
(check_null_empty_str_errno): Ditto.
(__check_null_invalid_struct_errno): Ditto.
(__check_invalid_read_ptr_errno): Ditto.
* syscalls.cc (_read): Return 0 when length == 0, as per Single UNIX
Specification.
2001-10-24 04:16:45 +00:00
Christopher Faylor a05d38a8b4 * debug.cc (set_errno): Return value of errno that was set, just like the
macro.
(setclexec_pid): Replace old handle with new handle.
* debug.h: Reflect change in arguments for setclexec_pid.
* fhandler.cc (fhandler_base::set_inheritance): Ditto.
(fhandler_base::fork_fixup): Ditto.
* cygerrno.h: Reflect return value change for set_errno.
2001-10-22 21:09:41 +00:00
Christopher Faylor e7e231e531 Remove 'cb' parameter and modify fhandler_* constructors throughout.
* dtable.cc (dtable::build_fhandler): Remove debugging output which uses 'cb'.
* exec.cc (execvp): New function.
(execvpe): Ditto.
* fhandler.cc (fhandler_base::fhandler_base): Use constructor initialization.
* fhandler.h (fhandler_tty_common::fhandler_tty_common): Ditto.
* fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
Ditto.
* fhandler_console.cc (fhandler_console::fhandler_console): Ditto.
* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Ditto.
* fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto.
* fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master): Ditto.
(fhandler_tty_slave::fhandler_tty_slave): Ditto.
(fhandler_pty_master::fhandler_pty_master): Ditto.
* fhandler_windows.cc (fhandler_windows::fhandler_windows): Ditto.
2001-10-22 18:39:22 +00:00
Corinna Vinschen 65d1068cb8 Patch suggested by Ian Ray <ian.ray@nokia.com>:
* syscalls.cc (seteuid): Unset environment variables HOMEDRIVE and
	HOMEPATH before calling internal_getlogin().
	* uinfo.cc (internal_getlogin): Use default HOMEPATH and HOMEDRIVE
	from environment if both are present, else query NetUserGetInfo().
2001-10-22 18:31:00 +00:00
Corinna Vinschen c270dc2555 * net.cc (get_2k_ifconf): Change multiple IP address naming scheme
to Linux style.

	Patch by Alexander Gottwald <ago@informatik.tu-chemnitz.de>:
        * net.cc (get_2k_ifconf): Added support for multiple IP addresses on
        one interface.
2001-10-22 12:23:33 +00:00
Corinna Vinschen 8b6234ca12 * miscfuncs.cc (__check_invalid_read_ptr_errno): Return error, if any. 2001-10-22 11:31:39 +00:00
Christopher Faylor d055070040 * resource.cc (fill_rusage): Perform paranoid zero structure passed to
GetProcessMemoryInfo.
2001-10-22 00:10:46 +00:00
Christopher Faylor 1f0191e542 * autoload.cc: Autoload GetProcessMemoryInfo.
* resource.cc (fill_rusage): Calculate ru_maxrss and ru_majflt entries.
(Bug report on this from Guido Serassio in the squid project).  This requires
including psapi.h.
2001-10-21 23:44:43 +00:00
Christopher Faylor c43c5c1643 * dll_init.cc (dll_list::alloc): Increase retry count to 1000. 2001-10-21 03:38:41 +00:00
Christopher Faylor 3ddb57fb3f fix typo. 2001-10-20 17:35:27 +00:00
Corinna Vinschen 011ec894d2 * mkgroup.c: Avoid compiler warnings.
(print_special): New function.
        (main): Print special accounts by calling print_special().
        * mkpasswd.c: Avoid compiler warnings.
        (enum_users): Print additional U-domain\username info in gecos
        field when SIDs are printed.
        (print_special): New function.
        (main): Print special accounts by calling print_special().
2001-10-20 13:56:09 +00:00
Corinna Vinschen b07891c58b * include/winnetwk.h (WNetGetResourceInformationA): Add declaration.
(WNetGetResourceInformationW): Ditto.
        (WNetGetResourceInformation): Add define.
2001-10-20 10:41:09 +00:00
Christopher Faylor 6fdd213161 * miscfuncs.cc (+__check_invalid_read_ptr_errno): New function.
* syscalls.c (_write): Validate that write buffer is accessible for reading,
not writing.
* winsup.h: Declare new function, increase regparmization of check_* functions.
2001-10-20 05:08:21 +00:00
Corinna Vinschen 5318c49833 * path.cc (getcwd): Allow len == 0 when buf == NULL. 2001-10-19 19:17:04 +00:00
Christopher Faylor da8f3291d1 * syscalls.cc (_read): Validate input pointer.
(_write): Ditto.
(system): Ditto.
2001-10-19 02:27:19 +00:00
Corinna Vinschen e34027611a Patch from Frederic Devernay <Frederic.Devernay@sophia.inria.fr>:
* poll.cc (poll): Call cygwin_select() if any fd is valid.
2001-10-17 18:52:06 +00:00
Corinna Vinschen 081be67e75 * fhandler_raw.cc (fhandler_dev_raw::open): Eliminate compatibility
code since no Win32 device names are used anymore.
        * fhandler_tape.cc (fhandler_dev_tape::tape_set_blocksize): Allow
        0 as blocksize to indicate variable blocksize.
        * path.cc (win32_device_name): Generate NT internal device names
        using upper/lower case names for readability.
        Generate \DosDevices\<letter>: device name for mount table
        compatibility devices.
2001-10-16 20:17:23 +00:00
Corinna Vinschen 2de2be2235 Forgot ChangeLog 2001-10-16 17:32:42 +00:00
Christopher Faylor 1a2cca85d2 * fhandler.cc (fhandler_base::fork_fixup): Guard against compiler warning. 2001-10-16 16:58:28 +00:00
Corinna Vinschen b20e2ee663 * fhandler_tape.cc (fhandler_dev_tape::tape_status): Report
EOTWarningZoneSize in get->mt_eotwarningzonesize.
        * include/cygwin/mtio.h: Define DEFTAPE.
        (struct mtget): Add member `mt_eotwarningzonesize'. Add a comment.
        * include/cygwin/version.h: Bump API minor version to 47.
2001-10-16 16:28:39 +00:00
Corinna Vinschen 0aa019b960 * pathnames.sgml: Cleanup raw device text to be more coherent. 2001-10-16 16:03:22 +00:00
Corinna Vinschen 7b46bb01e1 * pathnames.sgml: Add description for new fixed device paths. 2001-10-16 15:16:02 +00:00
Corinna Vinschen 990690655c * autoload.cc: Add load statement for `NtOpenFile'.
* fhandler.h (fhandler_dev_raw::get_unit): New method.
	(fhandler_dev_tape::norewind): Eliminate.
	(fhandler_dev_tape::is_rewind_device): New method.
	* fhandler_raw.cc (fhandler_dev_raw::open): Open new
	fixed device name devices using NT internal method.
	Keep calling fhandler_base::open() for old mount table
	device mapping compatibility devices.
	(fhandler_dev_raw::fstat): Eliminate.  Settings are done
	by fhandler_base::fstat() already.
	* fhandler_tape.cc: Remove `norewind' usage throughout.
	* ntdll.h: Define FILE_SYNCHRONOUS_IO_NONALERT.
	Define struct _IO_STATUS_BLOCK.
	Declare NtOpenFile().
	* path.cc (get_raw_device_number): Add new approach for
	using fixed device names.
	(win32_device_name): Ditto.
	(get_device_number): Ditto.  Require POSIX path to begin
	with "/dev/".
	(mount_info::conv_to_win32_path): Call win32_device_name()
	instead of get_device_number() after evaluating mount points
	to allow changing the win32 destination path again.
	* security.cc (str2buf2uni): Remove `static' to be able to
	call function from fhandler_dev_raw::open().
	* wincap.cc: Set flag has_raw_devices appropriately.
	* wincap.h: Add flag has_raw_devices.
2001-10-16 14:53:26 +00:00
Christopher Faylor 2ac3bab68d * cygheap.h (cygheap_fdget::cygheap_fdget): Remove debugging operation from
set_errno.
2001-10-16 14:43:36 +00:00
Christopher Faylor 5a23087628 * mmap.cc (mmap): Assign 'fh' from cygheap_fdget. Use 'fh' everywhere. 2001-10-16 14:04:26 +00:00
Christopher Faylor f636c08124 minor reformat. 2001-10-16 13:49:38 +00:00
Christopher Faylor 0f4db8cbe0 * cygerrno.h (set_errno): Define more informative version of this function for
debugging.
(__set_errno): Declare when DEBUGGING.
* cygheap.h (cygheap_fdget::cygheap_fdget): Add a flag to control when errno is
set.
* debug.cc (__set_errno): New function.
* fcntl.cc (_fcntl): Fix so that correct fd is used for second argument to
dup2.
* syscalls.cc (_cygwin_istext_for_stdio): Don't set errno here when using
cygheap_fdget.
2001-10-16 03:31:50 +00:00
Christopher Faylor df63bd490a * fhandler.cc (fhandler_base::fork_fixup): Don't protect handle.
* 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.
2001-10-15 23:39:33 +00:00
David Starks-Browning fff126983e new known problem "hang or core-dump during make" 2001-10-15 22:32:46 +00:00
David Starks-Browning 97eab19f83 cvs+ssh problem on Win9x now FITNR. 2001-10-15 21:51:36 +00:00
Christopher Faylor c2198f849c * mkpasswd.cc (enum_users): Shorten "unused" passwd field. 2001-10-15 15:44:37 +00:00
Corinna Vinschen 271a33443c * uname.cc (uname): Use `wProcessorLevel' unless OS sets it wrong.
Use `dwProcessorType' then instead.
        * wincap.cc: Set flag has_valid_processorlevel appropriately.
        * wincap.h: Add flag has_valid_processorlevel.
2001-10-15 09:41:18 +00:00
Christopher Faylor 48372ea6f1 * dtable.cc (dtable::build_fhandler_from_name): Use PC_FULL to determine path
name.
* fork.cc (fork_parent): Correct the "unable to allocate forker_finished event"
error message.  It named the wrong event before.
2001-10-14 15:49:13 +00:00
Christopher Faylor 611d92e24c * autoload.cc (load_wsock32): Declare dummy function to force loading of
winsock.
* fhandler.cc (fhandler_base::set_inheritance): Make debugging output more
verbose.
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Force loading of
winsock32 if winsock2 not available.
* net.cc (set_socket_inheritance): Use DuplicateHandle in all cases to set
inheritance correctly.
(fdsock): Use winsock2_active macro to determine when to set socket
inheritance.  Remove fdtab resource locking since this function should already
be protected.
(cygwin_accept): Simplify logic.  Ensure that fdtab unlock is not called
inappropriately.
(cygwin_rcmd): Use fdtab locking.
(cygwin_rresvport): Ditto.
(cygwin_rexec): Ditto.
* select.cc (peek_socket): Set errno appropriately if winsock select fails.
* winsup.h: Declare check_pty_fds.
* syscalls.cc (check_pty_fds): Rename from check_ttys_fds.  Also check pty
master.
(setsid): Use check_pty_fds.
* dtable.cc (dtable::dec_console_fds): Add check on pty fds.
2001-10-14 04:14:24 +00:00
Christopher Faylor 0476bae576 * fhandler_dsp.cc (fhandler_dsp::ioctl): Return 0 for successful
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).
2001-10-13 17:23:35 +00:00
Christopher Faylor 5dec13e179 * Makefile.in: Allow stdinc searching for dumper. 2001-10-13 05:33:47 +00:00
Christopher Faylor bc6ed54986 * autoload.cc (wsock_init): Reorganize slightly to accomodate a new compiler. 2001-10-13 01:35:15 +00:00
Christopher Faylor cb1826572c * Makefile.in: Add -nostdinc to CXXFLAGS. 2001-10-13 00:59:20 +00:00
Christopher Faylor 338420c918 * Makefile.in: Comment out install for now. 2001-10-12 20:02:41 +00:00
Christopher Faylor 0aa753540a * Makefile.in: Accomodate changes to w32api_include macro. 2001-10-12 19:49:29 +00:00
Christopher Faylor 0055a6c6c9 * Makefile.common: Perform more include file testing trickery. 2001-10-12 12:52:05 +00:00
Christopher Faylor c5e7ccacff Red Hatize 2001-10-12 01:51:21 +00:00
Egor Duda 5844588b74 * net.cc (cygwin_sendto): Use correct socket address when sending
data to AF_UNIX socket.
2001-10-11 09:46:21 +00:00
Corinna Vinschen f6a85cddc8 * net.cc (get_95_ifconf): Using other registry values pointing to
correct networkdevice identification for Windows95.
2001-10-10 19:28:19 +00:00
David Starks-Browning a0d03b7eaf New entries:
My application cannot locate cygncurses5.dll!!!
	Why is Cygwin suddenly @emph{so} slow?
Modified:
	Why doesn't //c (for C:) work anymore?
2001-10-10 09:21:55 +00:00
Christopher Faylor 57013c31ec Throughout, rename PROC_FORK1 to PROC_FORK.
* child_info.h: Rename PROC_* to _PROC_*.  Define PROC_* with additional
testing magic.  Eliminate old PROC_FORK and rename PROC_FORK1 to PROC_FORK.
* dcrt0.cc (_cygwin_testing_magic): New variable.  Added to magic number in
proc_info.
(alloc_stack): Eliminate old PROC_FORK test.
(dll_crt0_1): Ditto.  Use _PROC_* enums for test.  Subtract
_cygwin_testing_magic from child_proc_info->type so that normal cygwin programs
invoked by test suite programs do not consider themselves to be in a cygwin
environment.
(_dll_crt0): Ditto.  Move environment checks to initial_env function to
conserve on stack space.
(initial_env): New function.  Checks for testing and debugging environment
variables.
* init.cc (cygwin_hmodule): Move declaration.
* winsup.h: Declare variables used for cygwin testing.
2001-10-10 02:32:12 +00:00
Christopher Faylor b2a8510b89 * Makefile.in (MINGW_INCLUDES): Accomodate changes in Makefile.common. 2001-10-10 01:58:33 +00:00
Christopher Faylor bc6aa7e1b4 * Makefile.common: Avoid adding -I options to compile if they already exist in
CC or C*FLAGS.  This prevents warnings from newer versions of gcc.
2001-10-10 01:57:43 +00:00
Christopher Faylor d3fee5eccb * uinfo.cc (internal_getlogin): Reorganize slightly to minimize work in default
condition.
2001-10-09 23:28:24 +00:00
Egor Duda 132a3b30b9 fix typos 2001-10-09 18:12:51 +00:00
Corinna Vinschen e898b6c0c7 * fhandler.cc (fhandler_disk_file::open): Add missing case clash check. 2001-10-09 16:54:18 +00:00
Corinna Vinschen d7f6398556 * winsup.api/mmaptest01.c: Add several tests on mmaps. Use libltp.
* winsup.api/winsup.exp: Link all tests agains libltp.
2001-10-08 12:18:38 +00:00
Christopher Faylor 97405ef5b0 * dtable.cc (dtable::build_fhandler): Allocate correct amount for given
fhandler class.
* fhandler.h (fhandler_union): Properly define rather than relying on
fhandler_console being "big enough".
2001-10-08 05:50:33 +00:00
Christopher Faylor 2c774ac3f3 * external.cc (fillout_pinfo): Reset counter whenever we initialize the pid
list.
2001-10-08 04:26:27 +00:00
Christopher Faylor 12f6d7bc9c * kill.cc (main): Set exit value to 1 on invalid pid. Perform minor cleanup. 2001-10-08 03:06:25 +00:00
Christopher Faylor c27a29813a * path.cc (normalize_posix_path): Don't eat a '.' after a '\\' since it has
special meaning on NT.
* syscalls.cc (access): Use stat_worker.
2001-10-07 21:16:36 +00:00
Christopher Faylor dca779339f fix typo 2001-10-06 04:04:14 +00:00
Christopher Faylor a448b8cf34 * fhandler.cc (fhandler_base::fork_fixup): Protect dup'ed handle and record it
as non-inheritable for debugging purposes in case there is a subsequent fork or
exec.
* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Allow fork_fixup to
call ProtecHandle.
2001-10-06 01:04:24 +00:00
Christopher Faylor 3cf6936e3b * path.cc (get_raw_device_number): Correct length arguments for wdeveqn. 2001-10-05 18:23:49 +00:00
Christopher Faylor 547d07cae8 * winsup.api/nullgetcwd.c: New file. Check that NULL first argument to getcwd
works.
2001-10-05 16:52:43 +00:00
Christopher Faylor 19639f4139 * path.cc (getcwd): Allow NULL first argument. 2001-10-05 15:05:07 +00:00
Christopher Faylor b3fa795ab9 Revert incorrect checkins. 2001-10-05 04:37:33 +00:00
Christopher Faylor f978840bee * heap.h (inheap): Check for NULL. 2001-10-05 04:36:14 +00:00
Christopher Faylor 8d817b0f9e Add second path_conv * argument to fstat()s throughout.
* fhandler.h: Change read and fstat to regparm/stdcall throughout.
(fhandler_base::fstat): Just declare.  Don't define.
(fhandler_disk_file::fstat_helper): Declare.
* fhandler.cc (fhandler_base::fstat): Move here from fhandler.h, adapt from
former stat_dev().
(fhandler_disk_file::fstat): Move most of the disk-file-specific logic from
stat_worker to here.  Use fstat_helper to derive final fstat output.
(fhandler_disk_file::fstat_helper): New method, renamed from former fstat
method.
(num_entries): Moved here from syscalls.cc.
* fhandler_mem.cc (fhandler_dev_mem::fstat): Use base class to initialize most
stuff.  Invert has_physical_mem_access test for establishing permissions.
* fhandler_raw.cc (fhandler_dev_raw::fstat): Eliminate unneed test and memory
clearing.  Use base class to initialize most stuff.
* syscalls.cc (stat_dev): Eliminate.
(stat_worker): Simply call fstat method to generate fstat output.  Move all
device specific code to appropriate fstats.
* dir.cc (opendir): Pass correct arg to stat_worker to allow following
symlinks.
2001-10-05 04:21:41 +00:00
Christopher Faylor 291ae2c1e7 * winsup.api/systemcall.c (main): Change some messages for clarity. 2001-10-05 02:47:28 +00:00
Christopher Faylor ca7320ac2c * winsup.api/systemcall.c: New file. Check for system call problems. 2001-10-05 02:29:46 +00:00
Christopher Faylor af39152f4c * spawn.cc (perhaps_suffix): Return NULL on non-existence of file as well as
"directoryness".  Previous code modified on 2001/09/30 actually had an arguable
bug which was unmasked by the change on that day.
2001-10-05 01:39:08 +00:00
Christopher Faylor cbed6474df * path.cc (path_conv::check): Return ENOTDIR when leading device and trailing
component.
2001-10-05 00:52:41 +00:00
Christopher Faylor 32fb80db07 * syscalls.cc (stat_worker): Make global. Accept path_conv parameter for
passing information back to caller.
* winsup.h: Declare stat_worker.
* dir.cc (opendir): Use stat_worker rather than stat and pass path_conv
parameter to stat_worker for later inspection.
* syslog.cc (syslog): Teach syslog about syslog priorities other than LOG_ERR,
LOG_WARNING and LOG_INFO
* path.cc (path_conv::check): Don't perform file system or rootdir checks on
devices.
2001-10-05 00:17:57 +00:00
Christopher Faylor 8af0f81d52 * dcrt0.cc (dll_crt0_1): Don't close hexec_proc if it is NULL.
* fork.cc (vfork): Add debugging statements.
* path.cc (get_device_number): Make static.  Rewrite to inspect both unix and
windows paths.
(get_raw_device_number): Just check for parts of raw device that we care about.
(get_devn): New function, pulled from get_device_number.
(win32_device_name): Accomodate arg changes to get_device_number.
(mount_info::get_device_number): Call get_device_number on translated Windows
path.
* spawn.cc (spawn_guts): Don't treat P_VFORK differently from P_NOWAIT.  Add
handle to child's shared region to child so that it will be preserved if the
parent goes away.
* fhandler.h: Throughout, simplify to one open method for all fhandler classes,
requiring a path_conv first element.
* fhandler.cc (fhandler_base::open): Remove obsolete method.  Generalize to
require path_conv * as first argument.
(fhandler_disk_file::open): Remove obsolete method.
(fhandler_disk_file::open): Use path_conv pointer rather than reference.
* fhandler_clipboard.cc (fhandler_dev_clipboard::dup): Use new open method.
(fhandler_dev_clipboard::open): Accomodate new argument for open methods.
* fhandler_console.cc (fhandler_console::open): Ditto.
(fhandler_console::dup): Use new open method.
(fhandler_console::fixup_after_fork): Ditto.
(fhandler_console::fixup_after_exec): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::open): Accomodate new argument for open
methods.
* fhandler_floppy.cc (fhandler_dev_floppy::open): Ditto.
* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
* fhandler_random (fhandler_dev_random::open): Ditto.
* fhandler_raw.cc (fhandler_dev_raw::open): Ditto.
* fhandler_serial.cc (fhandler_serial::open): Ditto.
* fhandler_tape.cc (fhandler_dev_tape::open): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
(fhandler_pty_master::open): Ditto.
* fhandler_windows.cc (fhandler_windows::open): Ditto.
* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
* fhandler_socket.cc (fhandler_socket::set_connect_secret): Accomodate new
argument for open methods.
* syscalls.cc (_open): Ditto.
(stat_worker): Ditto.
2001-10-04 02:34:20 +00:00
Christopher Faylor ebd645e7e6 * cygheap.cc (cfree): Remove malloc debugging probe.
* dlmalloc.c (errprint): Remove abort() call which causes interesting error
message printing to abort prematurely.
* environ.cc: Sprinkle MALLOC_CHECKs liberally throughout.
(_addenv): Allocate two empty elements at end of environ to
(apparently) work around problems with some buggy applications.
(winenv): Avoid calling alloca if no forced environment variable is present.

* exceptions.cc (open_stackdumpfile): Don't print "Dumping stack trace to..."
when running in a cygwin environment (i.e., the parent is a cygwin process).

* dtable.cc (dtable::init_std_file_from_handle): Move device type detection
code from build_fhandler here since it is only used by this function.
(dtable::build_fhandler_from_name): New method.  Renamed from
dtable::build_fhandler.
(dtable::build_fhandler): Use build_fhandler_from_name.
(cygwin_attach_handle_to_fd): Ditto.
* syscalls.cc (_open): Ditto.
(stat_worker): Ditto.
* dtable.h (dtable::build_fhandler_from_name): Rename declaration from
dtable::build_fhandler.
2001-10-03 03:49:26 +00:00
Robert Collins 2f17ab1689 Tue Oct 2 22:25:23 2001 Robert Collins <rbtcollins@hotmail.com>
* how-fhandlers-work.txt: New file.
2001-10-02 12:27:03 +00:00
Christopher Faylor 4ab6034f50 * dtable.h (dtable::build_fhandler): Make path_conv parameter non-optional.
(dtable::init_std_file_from_handle): Eliminate name parameter.
* dtable.cc (stdio_init): Don't pass bogus name to init_std_file_from_handle.
The function will figure out the name itself.
(dtable::init_std_file_from_handle): Eliminate name parameter.  Assume that
we're always called with an appropriate fd.  Pass name as NULL if we can't
simply figure it out from context.
(cygwin_attach_handle_to_fd): Pass path_conv argument to build_fhandler.
(dtable::build_fhandler): Make path_conv argument mandatory.  Eliminate
specific call to get_device_number.  With unknown device names, set name from
handle context for parsing by path_conv.
(dtable::build_fhandler): Pass path_conv argument to build_fhandler.
* path.h (path_conv::set_isdisk): Set disk device type.
(path_conv::is_device): Don't consider FH_DISK a "device".
* syscalls.cc (_open): Pass path_conv argument by reference.
(stat_worker): Ditto.
(_rename): Use path_conv operators.  Add bounds to DeleteFile/MoveFile for
loop.
2001-10-02 01:58:06 +00:00
Christopher Faylor 47af76d8c8 * cygwin.din: export strtoll and strtoull 2001-10-01 19:47:37 +00:00
Christopher Faylor 47063f00e4 Add "path.h" include throughout, where needed. Use new path_conv methods and
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.
2001-10-01 04:10:07 +00:00
Christopher Faylor c25c4c5ffc * environ.cc (winenv): Allocate exact amount of space needed for forced windows
environment variable rather than just using MAX_PATH.
2001-09-30 21:37:53 +00:00
Christopher Faylor bb6c3d5832 * Makefile.in: Depend on stamp to ensure rebuilding. Remove stamp file when
we've just built the DLL.
2001-09-30 21:10:38 +00:00
Robert Collins 38102913c8 Mon Oct 1 00:34:00 2001 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (pthread_cond_dowait): Hopefully eliminate a race on multiple thread
        wakeups.
2001-09-30 14:39:55 +00:00
Robert Collins 86336f4fea Sat Sep 29 18:26:00 2001 Robert Collins <rbtcollins@hotmail.com>
* pthread.cc (pthread_cond_timedwait): Deleted - exported from thread.cc.
        (pthread_cond_wait): Deleted - exported from thread.cc.
        * thread.cc (pthread_cond::BroadCast): Update to use the new syntax for
        verifyable_object_isvalid ().
        (pthread_cond::Signal): Ditto. Also attempt to fix the lost signal race
        with pthread_cond::TimedWait().
        (check_valid_pointer): Change definiton to void const *.
        (verifyable_object_isvalid): Add new parameter to allow identification of
        static initializers, and return a enum rather than magic numbers.
        (__pthread_create): Ditto.
        (__pthread_cleanup): Ditto.
        (__pthread_attr_init): Ditto.
        (__pthread_attr_getinheritsched): Ditto.
        (__pthread_attr_getschedparam): Ditto.
        (__pthread_attr_getschedpolicy): Ditto.
        (__pthread_attr_getscope): Ditto.
        (__pthread_attr_setdetachstate): Ditto.
        (__pthread_attr_getdetachstate): Ditto.
        (__pthread_attr_setinheritsched): Ditto.
        (__pthread_attr_setschedparam): Ditto.
        (__pthread_attr_setschedpolicy): Ditto.
        (__pthread_attr_setscope): Ditto.
        (__pthread_attr_setstacksize): Ditto.
        (__pthread_attr_getstacksize): Ditto.
        (__pthread_attr_destroy): Ditto.
        (__pthread_join): Ditto.
        (__pthread_detach): Ditto.
        (__pthread_suspend): Ditto.
        (__pthread_continue): Ditto.
        (__pthread_getschedparam): Ditto.
        (__pthread_getsequence_np): Ditto.
        (__pthread_key_create): Ditto.
        (__pthread_key_delete): Ditto.
        (__pthread_setschedparam): Ditto.
        (__pthread_setspecific): Ditto.
        (__pthread_getspecific): Ditto.
        (__pthread_cond_destroy): Ditto.
        (__pthread_cond_init): Ditto.
        (__pthread_cond_broadcast): Ditto.
        (__pthread_cond_signal): Ditto.
        (__pthread_condattr_init): Ditto.
        (__pthread_condattr_getpshared): Ditto.
        (__pthread_condattr_setpshared): Ditto.
        (__pthread_condattr_destroy): Ditto.
        (__pthread_kill): Ditto.
        (__pthread_mutex_init): Ditto.
        (__pthread_mutex_getprioceiling): Ditto.
        (__pthread_mutex_lock): Ditto.
        (__pthread_mutex_trylock): Ditto.
        (__pthread_mutex_unlock): Ditto.
        (__pthread_mutex_destroy): Ditto.
        (__pthread_mutex_setprioceiling): Ditto.
        (__pthread_mutexattr_getprotocol): Ditto.
        (__pthread_mutexattr_getpshared): Ditto.
        (__pthread_mutexattr_gettype): Ditto.
        (__pthread_mutexattr_init): Ditto.
        (__pthread_mutexattr_destroy): Ditto.
        (__pthread_mutexattr_setprotocol): Ditto.
        (__pthread_mutexattr_setprioceiling): Ditto.
        (__pthread_mutexattr_getprioceiling): Ditto.
        (__pthread_mutexattr_setpshared): Ditto.
        (__pthread_mutexattr_settype): Ditto.
        (__sem_init): Ditto.
        (__sem_destroy): Ditto.
        (__sem_wait): Ditto.
        (__sem_trywait): Ditto.
        (__sem_post): Ditto.
        (__pthread_cond_dowait): New function, contains core logic from
        __pthread_cond_wait and __pthread_cond_timedwait. Decrement (*cond)->waiting
        before reentering the cond access mutex to allow detection of lost signals.
        (__pthread_cond_timedwait): Rename to pthread_cond_timedwait, and call
        __pthread_cond_dowait after calculating the wait length.
        (__pthread_cond_wait): Rename to pthread_cond_wait, and call
        __pthread_cond_dowait.
        * thread.h: New enum for use with verifyable_object_isvalid.
        Remove the extern exporting of __pthread_cond_timedwait and __pthread_cond_wait.
2001-09-29 09:01:01 +00:00
Christopher Faylor a1dc0932f4 * pipe.cc (fhandler_pipe::fixup_after_fork): New method.
* fhandler.h (fhandler_pipe::fixup_after_fork): Declare new method.
2001-09-29 01:23:06 +00:00
Christopher Faylor 1795c53d86 * passwd.cc (read_etc_passwd): Bother with unlocking when not in cygwin
initialization.
* grp.cc (read_etc_group): Ditto.
2001-09-28 07:23:18 +00:00
Christopher Faylor 8b51edbfa6 * passwd.cc (read_etc_passwd): Don't bother with locking when
in cygwin initialization since there is only one thread.
* grp.cc (read_etc_group): Ditto.
2001-09-28 07:01:22 +00:00
Christopher Faylor 9c61aed684 * pipe.cc (fhandler_pipe::hit_eof): Return correct value when there is no EOF
event available.
2001-09-28 06:06:45 +00:00
Corinna Vinschen f4f30cf140 * mmap.cc (mmap): Move setting the access after evaluating fd.
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.
2001-09-27 22:39:50 +00:00
Robert Collins c814d12f04 Thu Sep 27 22:00:00 2001 Robert Collins rbtcollins@itdomain.com.au
* Makefile.in: Only stamp winver_stamp on success.
2001-09-27 21:35:16 +00:00
Christopher Faylor 5fe74396e9 * select.cc (peek_pipe): REALLY only grab mutex when we actually got something
from the pipe.
2001-09-26 22:24:09 +00:00
Robert Collins c918cf9421 Tue Sep 25 21:25:00 2001 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (pthread_cond::BroadCast): Use address with verifyable_object_isvalid().
        (pthread_cond::Signal): Ditto.
        (__pthread_create): Ditto.
        (__pthread_cleanup): Ditto.
        (__pthread_attr_init): Ditto.
        (__pthread_attr_getinheritsched): Ditto.
        (__pthread_attr_getschedparam): Ditto.
        (__pthread_attr_getschedpolicy): Ditto.
        (__pthread_attr_getscope): Ditto.
        (__pthread_attr_setdetachstate): Ditto.
        (__pthread_attr_getdetachstate): Ditto.
        (__pthread_attr_setinheritsched): Ditto.
        (__pthread_attr_setschedparam): Ditto.
        (__pthread_attr_setschedpolicy): Ditto.
        (__pthread_attr_setscope): Ditto.
        (__pthread_attr_setstacksize): Ditto.
        (__pthread_attr_getstacksize): Ditto.
        (__pthread_attr_destroy): Ditto.
        (__pthread_join): Ditto.
        (__pthread_detach): Ditto.
        (__pthread_suspend): Ditto.
        (__pthread_continue): Ditto.
        (__pthread_getschedparam): Ditto.
        (__pthread_getsequence_np): Ditto.
        (__pthread_key_create): Ditto.
        (__pthread_key_delete): Ditto.
        (__pthread_setschedparam): Ditto.
        (__pthread_setspecific): Ditto.
        (__pthread_getspecific): Ditto.
        (__pthread_cond_destroy): Ditto.
        (__pthread_cond_init): Ditto.
        (__pthread_cond_broadcast): Ditto.
        (__pthread_cond_signal): Ditto.
        (__pthread_cond_timedwait): Ditto.
        (__pthread_cond_wait): Ditto.
        (__pthread_condattr_init): Ditto.
        (__pthread_condattr_getpshared): Ditto.
        (__pthread_condattr_setpshared): Ditto.
        (__pthread_condattr_destroy): Ditto.
        (__pthread_kill): Ditto.
        (__pthread_mutex_init): Ditto.
        (__pthread_mutex_getprioceiling): Ditto.
        (__pthread_mutex_lock): Ditto.
        (__pthread_mutex_trylock): Ditto.
        (__pthread_mutex_unlock): Ditto.
        (__pthread_mutex_destroy): Ditto.
        (__pthread_mutex_setprioceiling): Ditto.
        (__pthread_mutexattr_getprotocol): Ditto.
        (__pthread_mutexattr_getpshared): Ditto.
        (__pthread_mutexattr_gettype): Ditto.
        (__pthread_mutexattr_init): Ditto.
        (__pthread_mutexattr_destroy): Ditto.
        (__pthread_mutexattr_setprotocol): Ditto.
        (__pthread_mutexattr_setprioceiling): Ditto.
        (__pthread_mutexattr_getprioceiling): Ditto.
        (__pthread_mutexattr_setpshared): Ditto.
        (__pthread_mutexattr_settype): Ditto.
        (__sem_init): Ditto.
        (__sem_destroy): Ditto.
        (__sem_wait): Ditto.
        (__sem_trywait): Ditto.
        (__sem_post): Ditto.
        (verifyable_object_isvalid): Recieve a pointer to a pointer for verification.
        (__pthread_mutexattr_getprotocol): Fix typo in magic number.
        (__pthread_mutexattr_getpshared): Ditto.
        (__pthread_mutexattr_gettype): Ditto.
        * thread.h (verifyable_object_isvalid): Change prototype to recieve a pointer to a
        pointer for verification.
        * include/pthread.h: Fix typo for __cleanup_routine_type typedef. (Contrib from Net).
2001-09-25 11:45:26 +00:00
Christopher Faylor 79776fc2cc * select.cc (fhandler_tty_common::ready_for_read): Rewrite to correctly
call peek_pipe.
2001-09-25 06:19:10 +00:00
Christopher Faylor 3263838430 * select.cc (peek_pipe): Only grab mutex when we actually got something from
the pipe.
2001-09-24 22:49:12 +00:00
Christopher Faylor 35f879a6d0 * fhandler.h (fhandler_pipe::hit_eof): New method.
(writepipe_exists): New class element.
(orig_pid): Ditto.
(id): Ditto.
(is_slow): Eliminate.
* pipe.cc (fhandler_pipe::set_close_on_exec): Set inheritance on
writepipe_exists, if it exists.
(fhandler_pipe::hit_eof): New method, modelled after tty.
(fhandler_pipe::dup): Duplicate writepipe_exists, if it exists.
(make_pipe): Set up a dummy event for pipes on windows 9x.  The nonexistence
of this event means that the write side of the pipe has closed.
(_dup): Move to syscalls.cc
(_dup2): Ditto.

* dtable.cc (dtable::build_fhandler): Fill out set_names here, if appropriate.
* syscalls.cc (_open): Call set_names in build_fhandler.
2001-09-24 21:50:44 +00:00
Corinna Vinschen 4367ec036f * syscalls.cc (_open): Set name in fhandler object after successful
creation.
        (stat_dev): Set device type to block device in FH_FLOPPY case.
2001-09-23 15:35:02 +00:00
Corinna Vinschen e3fbb5f5ce * dtable.cc (dtable::build_fhandler): Initialize unit when using
optional path_conv argument.
2001-09-23 14:39:16 +00:00
David Starks-Browning 991f7832e6 expand entry "How can I get bash filename completion to be case insensitive?" 2001-09-23 11:19:13 +00:00
David Starks-Browning b66101cda7 new entry "What versions of Windows are supported?" 2001-09-23 11:13:08 +00:00
David Starks-Browning 45b9eb3144 1.1.x -> 1.3.x in "recent history" 2001-09-23 10:06:32 +00:00
Christopher Faylor 9854ada754 * dtable.cc (dtable::build_fhandler): Accept an optional path_conv argument.
If available, use this to calculate path name and device number.
* dtable.h (dtable): Reflect above change.
* fhandler.h (fhandler_base): Declare virtual method which accepts path_conv
rather than path string as first argument.
* fhandler.cc (fhandler_base::open): Define above new method.
* syscalls.cc (_open): Set aside a path_conv variable for use in build_fhandler
and subsequent call to open.
2001-09-22 21:44:07 +00:00
David Starks-Browning 880230dc7c new entry "How much disk space does Cygwin require?" 2001-09-22 19:47:17 +00:00
David Starks-Browning ca60dce821 again revise license terms 2001-09-22 19:32:47 +00:00
Christopher Faylor 5e733918c0 * exceptions.cc (setup_handler): Always relinquish lock after we've
interrupted.
* fhandler.cc: Move pipe methods to pipe.cc.
* fhandler.h (fhandler_pipe): Add new methods.
* fork.cc (sync_with_parent): Make error messages more informative.
* pipe.cc (fhandler_pipe::fhandler_pipe): Move here from fhandler.cc.
(fhandler_pipe::lseek): Ditto.
(fhandler_pipe::set_close_on_exec): New method.
(fhandler_pipe::read): Ditto.
(fhandler_pipe::close): Ditto.
(fhandler_pipe::dup): Ditto.
(make_pipe): Create the guard mutex on the read side of the pipe.
* select.cc (peek_pipe): Use guard_mutex to discover if we have the right to
read on this pipe.
(fhandler_pipe::readh_for_read): Pass the read pipe guard mutex to peek_pipe.
* syscalls.cc (_read): Always detect signal catchers, for now.
* debug.cc (makethread): Eliminate hack to make thread inheritable.
* sigproc.cc (subproc_init): Don't use hack to make thread inheritable.
2001-09-22 16:55:02 +00:00
David Starks-Browning 142920f65a revise license explanation 2001-09-22 08:45:27 +00:00
Christopher Faylor 99426172cc Add recent developments. 2001-09-22 01:37:47 +00:00
Christopher Faylor e0197c5ea5 typo, words. 2001-09-22 01:29:07 +00:00
Christopher Faylor 53df7e2aaf * Makefile.in (mingw_getopt.o): Ensure that newlib include directories are not
searched.
2001-09-22 00:40:37 +00:00
David Starks-Browning a997e6ea10 fix error 2001-09-21 20:42:47 +00:00
David Starks-Browning 38300b88f1 Update contents.
Expanded anti-virus information.
How to uninstall a package.
2001-09-21 20:40:50 +00:00
David Starks-Browning 99059a8c38 new entry "Can I build a Cygwin program that does not require cygwin1.dll at runtime?" 2001-09-21 18:20:21 +00:00
Christopher Faylor 7700f3718e * Makefile.in (MINGW_INCLUDES): Still need cygwin/include directory. 2001-09-21 01:01:27 +00:00
David Starks-Browning 24f19d84e0 New entry "Why doesn't //c (for C:) work anymore?" 2001-09-20 21:23:17 +00:00
Christopher Faylor c50d56bc43 * fhandler.cc (fhandler_base::set_inheritance): Just use DUPLICATE_CLOSE_SOURCE
to change inheritance.  Eliminate all other logic dealing with closed handles.
* fhandler.h (fhandler_base::set_inheritance): Reflect above change.
* fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
2001-09-20 20:58:29 +00:00
Egor Duda b1711a1f96 * libltp/lib/get_high_address.c (get_high_address): Get inaccessible
address more robustly.
* winsup.api/ltp/stat06.c (high_address_setup): Use generic function
from ltp library to obtain inaccessible address.
2001-09-20 15:44:41 +00:00
Corinna Vinschen a2db3c9288 * fhandler_socket.cc (fhandler_socket::fixup_after_exec): Close
socket only when not using Winsock2.
2001-09-20 11:35:49 +00:00
Corinna Vinschen 8e54fb88f3 * fhandler.h (fhandler_socket::fixup_after_exec): Remove inline
implementation.
        (fhandler_dev_raw::fixup_after_exec): Ditto.
        * fhandler_raw.cc (fhandler_dev_raw::fixup_after_fork): Don't
        duplicate buffer on fork to avoid memory leak.
        (fhandler_dev_raw::fixup_after_exec): New implementation equal to
        former fixup_after_fork() implementation.
        * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Do
        nothing when not using Winsock2.
        (fhandler_socket::fixup_after_exec): New implementation.
        (fhandler_socket::set_close_on_exec): Never call set_inheritance().
2001-09-20 11:29:48 +00:00
Corinna Vinschen f4e6b76a05 * fhandler.cc (fhandler_base::set_inheritance): If available,
use SetHandleInformation() to set inheritance.
        * wincap.cc: Set flag has_set_handle_information_on_console_handles
        appropriately.
        * wincap.h: Add flag has_set_handle_information_on_console_handles.
2001-09-20 08:02:01 +00:00
Earnie Boyd 7141383a86 2001-09-18 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (_[U]LARGE_INTEGER): Mark nameless structure
	field as _ANONYMOUS_STRUCT.
	* include/setupapi.h (SP_DEVINSTALL_PARAMS): Add missing typedef
	for UNICODE.
	* include/ipexport.h (icmp_echo_reply): Remove extra ';'.
	* lib/makefile.in: Add -pedantic switch to TEST_OPTIONS for header
	test.

2001-09-17  Mattia Barbon  <mbarbon@dsi.unive.it>

	* include/commctrl.h: Add some ListView constants.

2001-09-17  Earnie Boyd  <earnie@sf.net>

	* lib/Makefile.in (inst_includedir): Add FIXME and remove the usr/
	portion of the directory from the install.
	(inst_libdir): Ditto.
	* Makefile.in (VERSION): Increment.
	* include/w32api.h: Increment version.
2001-09-19 23:56:12 +00:00
Christopher Faylor 2f02f21831 Add -t option. 2001-09-19 22:06:33 +00:00
Christopher Faylor 9e5ad282f0 * lib/getopt.c (__progname): Don't declare if not compiling for cygwin. 2001-09-19 16:24:10 +00:00
Christopher Faylor de6305a0e4 * Makefile.in: Filter newlib includes from mingw compilation. 2001-09-19 16:22:47 +00:00
Corinna Vinschen 09376842d4 * lib/getopt.c (getopt_long): Avoid compiler warning. 2001-09-19 16:08:33 +00:00
Christopher Faylor 596f3269b0 * lib/getopt.c: Use __progname==__argv[0] when not compiling for cygwin.
* scandir.cc (scandir): Use correct default when compar == NULL.
2001-09-19 15:54:12 +00:00
Corinna Vinschen 487fb5f1c4 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Revert
memory allocation to use cmalloc again.
2001-09-19 15:50:54 +00:00
Earnie Boyd 18508302f9 2001-09-19 Earnie Boyd <earnie@SF.net>
* Makefile.in: Remove the /usr from the install target.
	(VERSION): Increment.
	include/_mingw.h: Ditto.
2001-09-19 15:37:19 +00:00
Christopher Faylor 5733509e25 * cygwin.din (__argv): Export.
(__argc): Ditto.
(__progname): Ditto.
* include/getopt.h (getopt_long): constify arguments.
* lib/getopt.c: Import new file from NetBSD.
2001-09-19 01:07:11 +00:00
Corinna Vinschen 7cffc34564 * mmap.cc (mmap): Don't reuse anonymous memory in MAP_FIXED case. 2001-09-18 17:10:09 +00:00
Christopher Faylor c98b577d40 * include/io.h: Add access declaration. 2001-09-17 21:29:19 +00:00
Christopher Faylor 8238a68bb2 * syscalls.cc (rmdir): Set cwd to some other location if attempting to rmdir
current working directory.
2001-09-17 18:10:02 +00:00
Earnie Boyd 3e985c99c0 2001-09-17 Earnie Boyd <earnie@sf.net>
* lib/Makefile.in (inst_includedir): Add FIXME and remove the usr/
	portion of the directory from the install.
	(inst_libdir): Ditto.
	* Makefile.in (VERSION): Increment.
	* include/w32api.h: Increment version.
2001-09-17 16:15:54 +00:00
Earnie Boyd f244c34bae * Makefile.in: Increment version.
* include/_mingw.h: Ditto.
2001-09-17 12:38:45 +00:00
Christopher Faylor 60136eb0b2 * dtable.h (not_open): Assure inline.
* fhandler.h (operator []): Make const.
* sync.cc (muto::~muto): Fix typo which stopped muto event handle from ever
being closed.
2001-09-17 03:05:05 +00:00
Egor Duda 0aca521ab8 * path.cc (symlink): Check arguments for validity.
(getcwd): Ditto.
* syscalls.cc (ftruncate): Ditto.
* times.cc (times): Ditto.
* uname.cc (uname): Ditto.
2001-09-16 14:26:11 +00:00
Christopher Faylor d595839939 * net.cc (dup_servent_ptr): Detect old Windows 95 misaligned structure and
realign appropriately.
2001-09-16 02:56:58 +00:00
Christopher Faylor 1d1c6baa7b minor typo fixes. 2001-09-16 02:56:48 +00:00
Egor Duda 615643cb12 * winsup.api/ltp/sbrk01.c (main): Force output at startup to
make sure that stdio file buffer get allocated.
* winsup.api/ltp/stat06.c (high_address_setup): On cygwin, area
after sbrk(0) may be available, use 0xffff0000 as "high address".
* winsup.api/ltp/symlink01.c: Perform all tests. Mark those tests that
don't work on cygwin with '-1'. Close open files so that temporary
directory can be deleted on exit.
* winsup.api/ltp/vfork01.c: New test.
2001-09-15 19:54:04 +00:00
Christopher Faylor 74509af276 * Makefile.in: Generate libcygwin.a during the link pass rather than as a
separate dlltool step.
* dcrt0.cc (_dll_crt0): pppid_handle could be NULL.  Don't close it if so.
2001-09-15 04:36:43 +00:00
Christopher Faylor d409c077df *** empty log message *** 2001-09-15 00:50:28 +00:00
Christopher Faylor 9661a0c8b7 * dcrt0.cc (dll_crt0_1): Create vfork main storage here so that it can be
queried in waitsig later.
* sigproc.cc (wait_sig): Don't deliver a signal if in a vfork.
* fork.cc (vfork): Deliver all signals on parent return from vfork.
2001-09-15 00:47:44 +00:00
Egor Duda 696a88a431 Hints and tips on debugging cygwin 2001-09-14 17:43:17 +00:00
Christopher Faylor 772944d3a5 add copyrights. 2001-09-14 16:57:32 +00:00
Christopher Faylor 64a2f70b43 more words 2001-09-14 16:13:00 +00:00
Egor Duda d353d5d6f8 * dumper.cc (dumper::dumper): Print error code in case of error.
(dumper::add_thread): Ditto.
(dumper::collect_memory_sections): Ditto.
(dumper::dump_memory_region): Ditto.
(dumper::collect_process_information): Ditto.
(print_section_name): Fix formatting.
2001-09-14 15:07:31 +00:00
Corinna Vinschen 4856e91471 * dcrt0.cc (_dll_crt0()): Don't call wincap.init() here. 2001-09-14 08:23:46 +00:00
Christopher Faylor 5654f240f1 *** empty log message *** 2001-09-14 04:39:56 +00:00
Christopher Faylor 25e40ae6aa * fork.cc (vfork): Avoid recursive vforks. 2001-09-14 04:37:57 +00:00
Christopher Faylor 02a9889121 * fhandler.h (fhandler_pipe::is_slow): Return true only if pipes are reliable
(i.e., not Win9x).
* wincap.cc: Make statics NO_COPY to avoid fork overhead.
2001-09-14 04:22:05 +00:00
Christopher Faylor cd6ed3f9f5 * grp.cc (read_etc_group): Just reuse group_buf storage for subsequent reread
of /etc/group.
* passwd.cc (read_etc_passwd): Just reuse passwd_buf storage for subsequent
reread of /etc/passwd.
2001-09-14 03:01:47 +00:00
Christopher Faylor e2e078278c * cygheap.cc (dup_now): New function.
(cygheap_setup_for_child): Accept new argument controlling whether to delay
copying of cygheap to shared memory region.
(cygheap_setup_for_child_cleanup): Accept new arguments controlling whether to
copy cygheap at this point.
* cygheap.h: Reflect above changes.
* fork.cc (fork_parent): Break copying of cygheap into two parts when
fork_fixup is required so that the child can see the parent's changes.
(vfork): Do stack cleanup prior to forcing a fork error.
* spawn.cc (spawn_guts): Ditto.
2001-09-14 00:49:00 +00:00
Christopher Faylor 3e2d8af0b9 * cygheap.cc (ccalloc): Pass correct length to creturn so that cygheap_max is
correctly calculated.
2001-09-13 21:15:34 +00:00
Egor Duda 3900c377d8 * winsup.api/winsup.exp: Run only selected test if environment
variable CYGWIN_TESTSUITE_TESTS is set. Use its value as regular
expression to filter test names.
* winsup.api/ltp/symlink01.c (creat_path_max): Provide explicit
buffer to getcwd to conform to standards and avoid memory leak.
(do_chdir): Ditto.
2001-09-13 19:00:48 +00:00
Earnie Boyd e9f2bf3049 2001-09-13 Earnie Boyd <earnie@SF.net>
* lib/Makefile.in (inst_includedir): Change to always use w32api
	subdirectory for target == cygwin.
	(inst_libdir): Ditto.
2001-09-13 17:45:55 +00:00
Egor Duda 50ab44e0a7 * libltp/lib/tst_sig.c: Pass SIGSEGV to application to consider
whether it's expected or not.
* winsup.api/known_bugs.tcl: lseek10 is known to fail because mknod
is not implemented.
* winsup.api/ltp/rename02.c: Fix formatting.
* libltp/lib/libtestsuite.c: New file.
* winsup.api/signal-into-win32-api.c: New test.
* winsup.api/ltp/access04.c: Ditto.
* winsup.api/ltp/access05.c: Ditto.
* winsup.api/ltp/alarm07.c: Ditto.
* winsup.api/ltp/chdir04.c: Ditto.
* winsup.api/ltp/chmod01.c: Ditto.
* winsup.api/ltp/close01.c: Ditto.
* winsup.api/ltp/close02.c: Ditto.
* winsup.api/ltp/creat01.c: Ditto.
* winsup.api/ltp/creat03.c: Ditto.
* winsup.api/ltp/exit01.c: Ditto.
* winsup.api/ltp/exit02.c: Ditto.
* winsup.api/ltp/fchdir01.c: Ditto.
* winsup.api/ltp/fchdir02.c: Ditto.
* winsup.api/ltp/fork02.c: Ditto.
* winsup.api/ltp/fork03.c: Ditto.
* winsup.api/ltp/fork06.c: Ditto.
* winsup.api/ltp/fork07.c: Ditto.
* winsup.api/ltp/fork09.c: Ditto.
* winsup.api/ltp/fork10.c: Ditto.
* winsup.api/ltp/fork11.c: Ditto.
* winsup.api/ltp/fstat02.c: Ditto.
* winsup.api/ltp/fstat03.c: Ditto.
* winsup.api/ltp/fstat04.c: Ditto.
* winsup.api/ltp/ftruncate01.c: Ditto.
* winsup.api/ltp/ftruncate02.c: Ditto.
* winsup.api/ltp/ftruncate03.c: Ditto.
* winsup.api/ltp/getgid02.c: Ditto.
* winsup.api/ltp/getgid03.c: Ditto.
* winsup.api/ltp/getpgid01.c: Ditto.
* winsup.api/ltp/getpgid02.c: Ditto.
* winsup.api/ltp/getpid02.c: Ditto.
* winsup.api/ltp/getppid02.c: Ditto.
* winsup.api/ltp/getuid02.c: Ditto.
* winsup.api/ltp/getuid03.c: Ditto.
* winsup.api/ltp/kill01.c: Ditto.
* winsup.api/ltp/kill02.c: Ditto.
* winsup.api/ltp/kill03.c: Ditto.
* winsup.api/ltp/kill04.c: Ditto.
* winsup.api/ltp/lseek06.c: Ditto.
* winsup.api/ltp/lseek07.c: Ditto.
* winsup.api/ltp/lseek08.c: Ditto.
* winsup.api/ltp/lseek09.c: Ditto.
* winsup.api/ltp/lseek10.c: Ditto.
* winsup.api/ltp/mmap02.c: Ditto.
* winsup.api/ltp/mmap03.c: Ditto.
* winsup.api/ltp/mmap04.c: Ditto.
* winsup.api/ltp/mmap05.c: Ditto.
* winsup.api/ltp/mmap06.c: Ditto.
* winsup.api/ltp/mmap07.c: Ditto.
* winsup.api/ltp/mmap08.c: Ditto.
* winsup.api/ltp/munmap01.c: Ditto.
* winsup.api/ltp/munmap02.c: Ditto.
* winsup.api/ltp/open02.c: Ditto.
* winsup.api/ltp/pipe01.c: Ditto.
* winsup.api/ltp/pipe08.c: Ditto.
* winsup.api/ltp/pipe09.c: Ditto.
* winsup.api/ltp/pipe10.c: Ditto.
* winsup.api/ltp/pipe11.c: Ditto.
* winsup.api/ltp/poll01.c: Ditto.
* winsup.api/ltp/read04.c: Ditto.
* winsup.api/ltp/readlink01.c: Ditto.
* winsup.api/ltp/readlink03.c: Ditto.
* winsup.api/ltp/rename01.c: Ditto.
* winsup.api/ltp/rename08.c: Ditto.
* winsup.api/ltp/rename10.c: Ditto.
* winsup.api/ltp/rmdir01.c: Ditto.
* winsup.api/ltp/stat01.c: Ditto.
* winsup.api/ltp/stat02.c: Ditto.
* winsup.api/ltp/stat03.c: Ditto.
* winsup.api/ltp/symlink03.c: Ditto.
* winsup.api/ltp/symlink04.c: Ditto.
* winsup.api/ltp/symlink05.c: Ditto.
* winsup.api/ltp/sync02.c: Ditto.
* winsup.api/ltp/time02.c: Ditto.
* winsup.api/ltp/times02.c: Ditto.
* winsup.api/ltp/times03.c: Ditto.
* winsup.api/ltp/truncate01.c: Ditto.
* winsup.api/ltp/truncate02.c: Ditto.
* winsup.api/ltp/umask02.c: Ditto.
* winsup.api/ltp/umask03.c: Ditto.
* winsup.api/ltp/wait401.c: Ditto.
* winsup.api/ltp/wait402.c: Ditto.
* winsup.api/ltp/write02.c: Ditto.
* winsup.api/ltp/write03.c: Ditto.
2001-09-13 17:30:23 +00:00
Egor Duda 4e8b5fc387 * dumper.cc (main): Properly recognize negative pids (used by w9x). 2001-09-13 15:06:25 +00:00
Earnie Boyd 36d19bdddb 2001-09-13 Earnie Boyd <earnie@SF.net>
* lib/Makefile.in (config_prefix): New variable.
	(inst_includedir): Manipulate special value only if target == cygwin
	and build == target and prefix != config_prefix.
	(inst_libdir): Ditto.
2001-09-13 12:06:28 +00:00
Christopher Faylor dc02f343bf * sync.cc (muto::acquire): Fix while/if typo. 2001-09-13 01:07:25 +00:00
Corinna Vinschen 4b081513cc * wincap.cc (wincapc::init): Simplify W2K/XP case. 2001-09-12 21:07:13 +00:00
Corinna Vinschen 09dcaf6922 * wincap.cc (wincapc::init): Set os name to "NT" on XP, too. 2001-09-12 21:03:53 +00:00
Earnie Boyd 1176fb61c9 2001-09-12 Earnie Boyd <earnie@SF.net>
* Makefile.in (TARFLAGS): New variable.
	(TARFILEEXT): Ditto.
2001-09-12 20:24:06 +00:00
Corinna Vinschen ba94682838 * Makefile.in: Build wincap.o.
* 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.
2001-09-12 17:46:37 +00:00
Earnie Boyd c88bb51c3c 2001-09-12 Earnie Boyd <earnie@SF.net>
* Makefile.in: Increment version.
	* include/w32api.h: Ditto.
	* lib/Makefile.in: Add usr/ to install directory special for cygwin.
2001-09-12 14:48:07 +00:00
Earnie Boyd e078566ced 2001-09-11 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (_[U]LARGE_INTEGER): Protect nameless struct with
	!defined(NONAMELESSUNION), rather than defined(_ANONYMOUS_STRUCT).
	(_REPARSE_DATA_BUFFER): Name union field DUMMYUNIONNAME.
2001-09-12 14:08:53 +00:00
Christopher Faylor aed6988a36 * exceptions.cc (call_signal_handler_now): Add additional guard against
inappropriately calling signal handler.
* syscalls.cc (_read): Reset errno if not exiting due to signal.
2001-09-12 05:09:24 +00:00
Christopher Faylor ff6e295ebf minor cleanups 2001-09-12 04:47:47 +00:00
Robert Collins 8e4d969260 Wed Sep 12 13:03:00 2001 Robert Collins <rbtcollins@hotmail.com>
* autoload.cc (LoadDLLfuncEx): Auto load TryEnterCriticalSection - its a
n NT only call.
        * thread.cc (pthread_cond::TimedWait): Use critical sections for NT.
        (pthread_cond::fixup_after_fork): Don't detect bad apps.
        (pthread_mutex::pthread_mutex): Use critical sections for NT.
        (pthread_mutex::~pthread_mutex): Ditto.
        (pthread_mutex::Lock): Ditto.
        (pthread_mutex::TryLock): Ditto.
        (pthread_mutex::UnLock): Ditto.
        (pthread_mutex::fixup_after_fork): Ditto. Also do not detect bad apps.
        (__pthread_mutex_trylock): Move WIN32 specific test into the class metho
d.
        (__pthread_mutex_destroy): Prevent dereferencing passed pointer without
valid address.
        * thread.h (pthread_mutex): Use critical sections for NT.
2001-09-12 03:18:05 +00:00
Christopher Faylor 101f820da2 * sigproc.h (sigframe::unregister): Return true/false whether this frame is
capable of responding to signals.
* exceptions.cc (sigframe::call_signal_handler): Don't call signal handler if
it is not armed for this thread.
2001-09-12 01:56:32 +00:00
Christopher Faylor e3c25c4a47 Update copyrights. 2001-09-11 20:01:02 +00:00