2002-02-22  Christopher Faylor  <cgf@redhat.com>

	* 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.

2001-02-22  Corinna Vinschen  <corinna@vinschen.de>

	* smallprint.c (rn): Allow long long values.
	(__small_vsprintf): Add 'D', 'U' and 'X' formats for long long
	parameters.

2002-02-19  Christopher Faylor  <cgf@redhat.com>

	* 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  Christopher Faylor  <cgf@redhat.com>

	* 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-16  Christopher Faylor  <cgf@redhat.com>

	* 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-15  Christopher Faylor  <cgf@redhat.com>

	* 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  Christopher Faylor  <cgf@redhat.com>

	* hires.h: New file.
	* times.cc (gettimeofday): Use hires class for calculating current time.
	(hires::prime): New method.
	(hires::utime): Ditto.

2002-02-14  Christopher Faylor  <cgf@redhat.com>

	* include/sys/cygwin.h (cygwin_getinfo_types): New CW_STRACE_ACTIVE.
	* external.cc (cygwin_internal): Handle CW_STRACE_ACTIVE.

2002-02-14  Christopher Faylor  <cgf@redhat.com>

	* 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.

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

	* include/cygwin/acl.h: Fix definition of aclent_t.

2002-02-10  Christopher Faylor  <cgf@redhat.com>

	* Makefile.in (DLL_OFILES): Consolidate object files.

2002-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* 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  Corinna Vinschen  <corinna@vinschen.de>

	* 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  Corinna Vinschen  <corinna@vinschen.de>

	Patch suggested by Pierre A. Humblet <Pierre.Humblet@ieee.org>:
	* 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-09  Corinna Vinschen  <corinna@vinschen.de>

	* 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  Corinna Vinschen  <corinna@vinschen.de>

	* 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-06  Alexander Gottwald <Alexander.Gottwald@s1999.tuchemnitz.de>

	* net.cc (get_2k_ifconf): Create interface entries for tokenring cards.

2002-02-08  Corinna Vinschen  <corinna@vinschen.de>

	* 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-07  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (cygwin_getsockname): Fix handling of NULL sun_path.

2002-01-29  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (getdomainname): Fix registry key for 9x systems, too.

2002-01-29  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (getdomainname): Fix registry key for NT systems.

2002-01-28  Christopher Faylor  <cgf@redhat.com>

	* 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-28  Earnie Boyd  <earnie@users.sf.net>

	* include/sys/strace.h (_STRACE_ON): Define.
	(_STRACE_OFF): Ditto.

2002-01-24  Christopher Faylor  <cgf@redhat.com>

	* speclib: Ensure that temporary def file is removed.

2002-01-23  Christopher Faylor  <cgf@redhat.com>

	* speclib: Use rm -f to remove temp file just to quiet any potential
	warnings.

2002-01-23  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (create_token): Use sec_user() to create
	SECURITY_ATTRIBUTES structure for primary token.  Use
	MAXIMUM_ALLOWED access rights instead of TOKEN_ALL_ACCESS.

2002-01-23  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (symlink): Fix check for already existing file.

2002-01-21  Christopher Faylor  <cgf@redhat.com>

	* cygmagic: Suppress error output when figuring out if sum takes an
	option.

2002-01-21  Christopher Faylor  <cgf@redhat.com>

	* cygmagic: Attempt to figure out if sum takes an option.

2002-01-21  DJ Delorie  <dj@redhat.com>

	* Makefile.in (libpthread.a): Pass the assembler also.
 	(libm.a): Ditto.
	(libc.a): Ditto.
	* speclib: Specify the assembler to dlltool.

2002-01-21  Christopher Faylor  <cgf@redhat.com>

	* include/cygwin/version.h: Bump DLL minor number.

2002-01-21  Corinna Vinschen  <corinna@vinschen.de>

	* grp.cc (getgrgid): Don't return default gid entry when ntsec is on.
	* syscalls.cc (setegid): Don't set primary group in process token.

2002-01-21  Christopher Faylor  <cgf@redhat.com>

	* speclib: Don't use /dev/null as DLL name.  Just default to what's
	already in .def file.

2002-01-21  Christopher Faylor  <cgf@redhat.com>

	* exceptions.cc (sig_handle): Remove last vestiges of SA_NOCLDSTOP code
	which caused SIGCHLD to be ignored.

2002-01-20  Christopher Faylor  <cgf@redhat.com>

	* include/cygwin/version.h: Bump DLL minor number.

2002-01-20  Christopher Faylor  <cgf@redhat.com>

	* syscalls.cc (regfree): Make dll_export.

2002-01-20  Christopher Faylor  <cgf@redhat.com>

	* exceptions.cc (ctrl_c_handler): Convert windows pid to cygwin pid
	when detecting if we should actually handle CTRL-C.

2002-01-19  Christopher Faylor  <cgf@redhat.com>

	* Makefile.in (new-cygwin1.dll): Revert previous change.  libsupc++.a
	is only available in libstdc++-v3.

2002-01-19  Christopher Faylor  <cgf@redhat.com>

	* 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  Christopher Faylor  <cgf@redhat.com>

	* include/cygwin/version.h: Bump DLL minor number.

2002-01-19  Christopher Faylor  <cgf@redhat.com>

	* 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  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/version.h: Bump API minor version to 51.

2002-01-19  Mark Bradshaw  <bradshaw@staff.crosswalk.com>

        * 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  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (create_token): Close processes token handle as soon
	as it's not used anymore.

2002-01-17  Corinna Vinschen  <corinna@vinschen.de>

	* 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-15  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (fchdir): Call chdir with full windows path.

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

	* 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-13  Christopher Faylor  <cgf@redhat.com>

	* dcrt0.cc (multiple_cygwin_problem): Clarify logic and make
	CYGWIN_MISMATCH_OK more powerful.

2002-01-10  Christopher Faylor  <cgf@redhat.com>

	* 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-10  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (pathconf): Guard _PC_PATH_MAX branch against invalid
	file parameter.

2002-01-09  Christopher Faylor  <cgf@redhat.com>
            Robert Collins  <rbtcollins@hotmail.com>

	* 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-08  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (cygwin_accept): Set sun_path for newly connected socket.

2002-01-07  Ralf Habacker  <Ralf.Habacker@freenet.de>

	* Makefile.in: Add uninstall target.

2002-01-07  Christopher Faylor  <cgf@redhat.com>

	* sigproc.cc (getsem): Clean up debugging output.

2002-01-07  Christopher Faylor  <cgf@redhat.com>

	* 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-06  Christopher Faylor  <cgf@redhat.com>

	* dtable.cc (dtable::init_std_file_from_handle): Add some defensive
	code to invalid handle case.

2002-01-06  Corinna Vinschen  <corinna@vinschen.de>

	* 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-05  Christopher Faylor  <cgf@redhat.com>

	* dir.cc (opendir): Guarantee release of alloced fhandler structure on
	error.

2002-01-05  Corinna Vinschen  <corinna@vinschen.de>

	* exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.

2002-01-05  Corinna Vinschen  <corinna@vinschen.de>

	* dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
	handle as errorneous.

2002-01-04  Christopher Faylor  <cgf@redhat.com>

	* cygmagic: Change logic for equality test.

2002-01-04  Christopher Faylor  <cgf@redhat.com>

	* dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT.

2002-01-04  Corinna Vinschen  <corinna@vinschen.de>

	* 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-01  Christopher Faylor  <cgf@redhat.com>

	* speclib: Remove temp files automatically.

2002-01-01  Corinna Vinschen  <corinna@vinschen.de>

	* 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.
