Commit Graph

3125 Commits

Author SHA1 Message Date
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
Alexandre Oliva 06e2f4c39e * configure.in (libstdcxx_flags): Don't add libstdc++-v3 flags for
libjava.
(CXX_FOR_TARGET): Add -shared-libgcc for libstdc++-v3 and libjava.
2002-03-01 00:52:59 +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
Andrew Cagney 5c48da9a28 * fdl.texi: New file. 2002-02-28 03:34:36 +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
Jeff Johnston afecf2faee 2002-02-27 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Add check for --disable-newlib-io-float
        configuration option and add -DNO_FLOATING_POINT to newlib cflags
        if appropriate.
        * acinclude.m4: Added --disable-newlib-io-float option.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * doc/aclocal.m4 doc/configure libc/aclocal.m4 libc/configure
        * libc/*/aclocal.m4 libc/*/configure
        * libm/*/aclocal.m4 libm/*/configure: Ditto.
        * libc/stdio/vfprintf.c [!INTEGER_ONLY]: Only set FLOATING_POINT
        if NO_FLOATING_POINT flag is not defined.
2002-02-27 23:56:24 +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
Andrew Cagney e3c6baed8a * standards.texi: Import February 14, 2002 version.
* make-stds.texi: Import 2001 version.
* Makefile.in (install): Depend on install-info.
2002-02-27 02:13:36 +00:00
Jeff Johnston c1010a63d8 2002-02-25 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h: Add __extension__ in front of
        long long references.
2002-02-25 23:51:10 +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
Alan Modra 45bdd82244 missdit 2002-02-25 04:13:42 +00:00
Alan Modra 925770f3a6 * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define. 2002-02-25 03:42:59 +00:00
Daniel Jacobowitz ef575dad60 2002-02-23 Daniel Jacobowitz <drow@mvista.com>
* config.guess: Import from master sources, rev 1.232.
        * config.sub: Import from master sources, rev 1.246.
2002-02-24 00:04:00 +00:00
Corinna Vinschen 630c657e64 * libc/include/sys/stat.h (_fstat): Don't declare when compiling Cygwin.
(_stat): Ditto.
2002-02-23 20:46:28 +00:00
Corinna Vinschen 59ee2e2013 * libc/sys/cygwin/sys/dirent.h (struct __DIR): Use __off32_t instead
of off_t.
2002-02-23 14:37:29 +00:00
Alexandre Oliva f981596fcb * Makefile.in (MAKEINFO): Don't assume makeinfo will be built just
because its Makefile is there; test for the executable instead.
2002-02-23 10:08:09 +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
Jim Blandy 76135eab62 include:
Allow the user to specify functions for allocating memory for
splay tree roots and nodes.
* splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
New types.
(splay_tree): New fields: `allocate', `deallocate', and
`allocate_data'.
(splay_tree_new_with_allocator): New function declaration.

libiberty:

* splay-tree.c (splay_tree_xmalloc_allocate,
splay_tree_xmalloc_deallocate): New functions.
(splay_tree_new): Call splay_tree_new_with_allocator, passing the
above functions and a dummy data pointer.
(splay_tree_new_with_allocator): New function.
(splay_tree_delete_helper, splay_tree_delete, splay_tree_insert,
splay_tree_remove): Use the splay tree's allocation and
deallocation functions.
2002-02-21 22:19:14 +00:00
Nick Clifton 2dd68dc2ff Add missing clobbered register. 2002-02-20 14:42:03 +00:00
Thomas Fitzsimmons 55500bf14f * configure.host (newlib_cflags): When host is in m68* add
-DCOMPACT_CTYPE.
2002-02-20 00:47:07 +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
Jan Hubicka dda54ada03 * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands. 2002-02-18 16:32:25 +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
Jeff Johnston ba0173f0f9 2002-02-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h: Add definitions for
        __int16_t, __uint16_t, __int64_t, and __uint64_t.
2002-02-15 21:19:40 +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
Alan Modra d33ab69988 Support arbitrary length fill patterns.
* bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
	(struct bfd_link_order): Remove fill.  Add data.size.
2002-02-15 02:10:03 +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