Commit Graph

4031 Commits

Author SHA1 Message Date
Christopher Faylor 656a999a33 * cygwin.din: Make many more functions SIGFE.
* include/cygwin/version.h (CYGWIN_VERSION_SHARED_DATA): Bump.
2004-02-05 19:57:03 +00:00
Corinna Vinschen d82c6f474d * security.h (SID): New macro.
(well_known_*_sid): Change type to cygpsid.
	(cygsid::init): Delete declaration.
	* sec_helper.cc (well_known_*_sid): Define using above SID macro.
	(cygsid::init): Delete.
	* dcrt0.cc (dll_crt0_0): Do not call cygsid::init.
	* security.cc (get_user_local_groups): Change the second argument type
	to cygpsid.
2004-02-05 17:23:19 +00:00
Joshua Daniel Franklin 0d902e61d1 2004-02-04 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* Makefile.in: Generate monolithic faq0.html file.
2004-02-05 05:00:34 +00:00
Danny Smith b5ce07f714 * mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per
NetBSD getopt_long.c.
2004-02-05 03:17:46 +00:00
Danny Smith d11508dd22 * mingwex/strtold.c (__asctoe64) Reorganise. Fix setting error
codes and handling of special chars.
2004-02-05 03:12:15 +00:00
Christopher Faylor 120023b090 update copyright 2004-02-04 22:40:50 +00:00
Christopher Faylor 9e8c2fadf7 * tlsoffsets.h: Regenerate. 2004-02-03 22:05:02 +00:00
Christopher Faylor 06615351b1 * cygtls.h (_local_storage::signamebuf): Increase size to prevent overflow on
really odd values.
2004-02-03 22:04:27 +00:00
Christopher Faylor c571716c64 * Makefile.in (DLL_OFILES): Add strsig.o.
* cygtls.h (_local_storage::signamebuf) New element.
* sysconf.cc (sysconf): Implement _SC_RTSIG_MAX.
* tlsoffset.h: Regenerate.
* include/limits.h (_POSIX_RTSIG_MAX): New define.
(RTSIG_MAX): Ditto.
* include/cygwin/signal.h (SIGRTMIN): New define.
(SIGRTMAX): Ditto.
(NSIG): Bump.
* strsig.cc: New file.
2004-02-03 21:59:27 +00:00
Christopher Faylor 50be1d78d9 * window.cc (Winmain): Show windows error code in error output when
RegisterClass fails.
2004-02-03 19:41:28 +00:00
Christopher Faylor 528060195c * fhandler.h (*::fixup_after_exec): Eliminate unused handle argument.
* fhandler.h (dtable::fixup_after_exec): Eliminate unused handle argument.
* dcrt0.cc (dll_crt0_1): Reflect elimination of unused handle argument to
fixup_after_exec.
* dtable.cc (dtable::fixup_after_exec): Ditto.
* fhandler_console.cc (fhandler_console::fixup_after_exec): Ditto.
* fhandler_dsp.cc (fhandler_dsp::fixup_after_exec): Ditto.
* fhandler_raw.cc (fhandler_raw::fixup_after_exec): Ditto.
* fhandler_socket.cc (fhandler_socket::fixup_after_exec): Ditto.
* fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Ditto.
* pipe.cc (fhandler_pipe::fixup_after_exec): Ditto.
* spawn.cc (spawn_guts): Do not set ciresrv.parent.
* child_info.h (child_info_spawn::~child_info_spawn): Do not close parent.
Update CURR_CHILD_INFO_MAGIC.
* dcrt0.cc (dll_crt0_0): Do not close spawn_info->parent.  Pass NULL to
cygheap->fdtab.fixup_after_exec().
2004-02-02 21:00:07 +00:00
Christopher Faylor 6027d26d8b Throughout, change name from set_inheritance to set_no_inheritance to better
reflect input arguments of this function.
* cygheap.h (CYGHEAPSIZE): Increase size of cygheap to something closer to the
21st century.
2004-02-02 20:33:09 +00:00
Corinna Vinschen 8d9bbb5092 * cygerrno.h (set_errno): Replace semicolon with comma in non-DEBUGGING
version to avoid compile time error.
2004-02-02 10:47:29 +00:00
Danny Smith a37903bc43 * include/stdio.h (feof): Add inlined definition.
(ferror): Ditto.
2004-02-02 09:18:40 +00:00
Danny Smith 9512474d4d * include/oleacc.h (LIBID_Accessibility): Declare.
* lib/uuid.c (LIBID_Accessibility): Define.
2004-02-02 05:59:45 +00:00
Danny Smith 5773d89b94 * include/winioctl.h ( NTFS_VOLUME_DATA_BUFFER): Add structure.
(FSCTL_GET_NTFS_VOLUME_DATA): Add macro.
2004-02-02 05:48:16 +00:00
Danny Smith 75b0412ba8 * include/commctrl.h (ICC_STANDARD_CLASSES, ICC_LINK_CLASS): Add
defines.
2004-02-02 05:43:32 +00:00
Christopher Faylor 9e1ad59de6 * cygerrno.h (set_errno): Set global errno whenever setting thread specific
version.
* debug.cc (__set_errno): Ditto.
* exceptions.cc (handle_sigsuspend): Remove spurious sig_dispatch_pending call.
(set_signal_mask): When there seem to be pending signals to dispatch, tell
signal_dispatch_pending/sig_send not to specifically call any handlers.
* sigproc.h (sig_dispatch_pending): Change declaration to void.
* sigproc.cc (sig_dispatch_pending): Change definition to void.  Take an
argument to determine whether to tell sig_send to wait for handler to be
called.
* sigproc.cc (sig_send): Don't call signal handler when sig == __SIGFLUSHFAST.
(wait_sig): Honor __SIGFLUSHFAST.  Guard against sigpacket::process nuking
si_signo.
* sigproc.h (__SIGFLUSHFAST): Define new special signal.
(sig_dispatch_pending): Change declaration to void.  Take optional boolean
argument.
* fork.cc (vfork): Add debugging output.
2004-02-01 18:29:12 +00:00
Danny Smith f6565cd1a6 * mingwex/math/ldexpl.c (ldexpl): Call __asm__("fscale")
directly, rather than via scabnl.
2004-02-01 02:52:21 +00:00
Danny Smith 416bc45060 * mingwex/math/powl.c (powl): Return infinity if
extended precision multiplication of x by log2(y)
	overflows.
2004-02-01 00:10:17 +00:00
Danny Smith fff0b496a0 2004-01-31 Jiri Malak <Jiri.Malak@geac.cz>
* include/winuser.h (RT_MANIFEST): Make conditional on
	RC_INVOKED.
	(CREATEPROCESS_MANIFEST_RESOURCE_ID,
	ISOLATIONAWARE_MANIFEST_RESOURCE_ID,
	ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID): Add
	defines.
2004-01-31 09:08:15 +00:00
Danny Smith d2c7ccfc5f * mingwex/math/cephes_emath.h (__enan_64): Fix thinko.
(__enan_NI16): Fix another one.
	(__enan_NBITS): Tidy.
2004-01-31 08:44:01 +00:00
Christopher Faylor ef33379be8 * exceptions.cc (sig_handle_tty_stop): Avoid races by waiting for both
signal_arrived and for sigCONT.
(sigpacket::process): Enforce sending of both signal_arrived and sigCONT, where
appropriate.
* gendef (sigreturn): Save tls pointer in ebx so that it can jump into
sigdelayed and use the same register.
2004-01-26 22:25:57 +00:00
Christopher Faylor 5e0f482f2c * cygtls.cc (_threadinfo::init_thread): Add more local reent stdio
initialization.
* dcrt0.cc (initial_env): Can it really be true that XP doesn't allow attaching
a debugger during DLL attach?  Add temporary workaround.
(dll_crt0_0): Ensure that _impure_ptr stdio is initialized before any threads.
(dll_crt0_1): Move _impure_ptr initialization to dll_crt0_0.
* exceptions.cc (try_to_debug): Reinstate old method for looping while
debugging.
* syscalls.cc (_cygwin_istext_for_stdio): Regularize debugging output.  Remove
hopefully extraneous check.
(setmode_helper): Add debugging output for improbable case.  Use "binary"
rather "raw" for consistency.
2004-01-26 18:52:02 +00:00
Christopher Faylor d7231d7224 * fhandler.cc (fhandler_base::fhaccess): Avoid always setting errno to EACCESS
when return value is < 0.  Rely on errno being set properly.
2004-01-25 23:39:26 +00:00
Christopher Faylor 6bc774fc6b * sigproc.cc (proc_subproc): Don't protect *child's* handle. 2004-01-25 05:17:21 +00:00
Christopher Faylor 9157f0f3ec * fhandler.h (fhandler_base::fhaccess): Return int for compatibility with
access.
* fhandler.cc (fhandler_base::fhaccess): Return int.  Use consistent variable
name for exit value.  Exit at bottom, printing debugging information, like
other cygwin functions.
2004-01-24 20:34:27 +00:00
Joshua Daniel Franklin d5f60b41f4 Cleanup minor markup problems. 2004-01-24 08:10:27 +00:00
Joshua Daniel Franklin aff8b4f9aa 2004-01-24 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygwinenv.sgml: Cleanup minor markup problems.
	* dll.sgml: Cleanup minor markup problems.
	* effectively.sgml: Cleanup minor markup problems.
	* gcc.sgml: Cleanup minor markup problems.
	* ntsec.sgml: Cleanup minor markup problems.
	* pathnames.sgml: Cleanup minor markup problems.
	* setup-net.sgml: Cleanup minor markup problems.
	* textbinary.sgml: Cleanup minor markup problems.
	* windres.sgml: Cleanup minor markup problems.
2004-01-24 08:09:45 +00:00
Christopher Faylor f4e815bc30 * cygheap.cc (init_cygheap::close_ctty): Protect YA vforkism.
* fhandler.h (fhandler_base::has_acls): Make pass through for path_conv method.
(fhandler_base::isremote): Ditto.
(fhandler_base::is_fs_special): Ditto.
(fhandler_base::has_attribute): Ditto.  Define new function.
(fhandler_base::fhaccess): Declare new function based on access_worker.
(fhandler_base::set_has_acls): Eliminate obsolete function.
(fhandler_base::set_isremote): Ditto.
* fhandler.cc (fhandler_base::fhaccess): Move from syscalls.cc and into
fhandler_base class.  Use fhandler methods to access data rather than path_conv
stuff.
(fhandler_base::device_access_denied): Use fhaccess method.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto.
(fhandler_base::open_fs): Remove calls to obsolete functions.
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
* winsup.h (access_worker): Remove obsolete access_worker declaration.
*syscalls.cc (access_worker): Move function to fhandler.cc.
(access): Use fhaccess method.
* pinfo.cc (_pinfo::set_ctty): Clarify debugging output.
* sigproc.cc (sig_dispatch_pending): Ditto.
* syscalls.cc (setsid): Perform minor rearrangement.
2004-01-24 03:40:33 +00:00
Pierre Humblet b9a766427b 2004-01-23 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler_socket.cc (fhandler_socket::create_secret_event): Avoid
        creating multiple handles. Always allow event inheritance but set the
        handle inheritance appropriately. Improve error handling.
        (fhandler_socket::check_peer_secret_event): Improve error handling.
        (fhandler_socket::close_secret_event): Simply call CloseHandle.
        (fhandler_socket::set_close_on_exec): Set secret event inheritance.
2004-01-24 00:14:27 +00:00
Christopher Faylor f723909038 * configure.in: Remove NEWVFORK default.
* configure: Regenerate.
* dcrt0.cc: Conditionalize vfork stuff throughout.
* dtable.cc: Ditto.
* perthread.h: Ditto.
* pipe.cc (fhandler_pipe::close): Ditto.
* spawn.cc (spawnve): Ditto.
* syscalls.cc (setsid): Ditto.
* exceptions.cc (sigpacket::process): Use macro to refer to vfork pid.
* debug.cc (verify_handle): Define new function.
* debug.h (VerifyHandle): Define new macro.
(verify_handle): Declare new function
* fhandler.cc (fhandler_base::dup): Verify that dup'ed handle is not supposed
to be in use.
(fhandler_base::set_inheritance): Ditto.
(fhandler_base::fork_fixup): Ditto.
* fhandler_socket.cc (fhandler_socket::dup): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
* net.cc (set_socket_inheritance): Ditto.
* pinfo.cc (pinfo_fixup_after_exec): Ditto.
* sigproc.cc (proc_subproc): Ditto.
(sig_send): Ditto.
* spawn.cc (spawn_guts): Ditto.
* thread.cc (pthread::init_mainthread): Ditto.
* pipe.cc (fhandler_pipe::close): Close read_state with ForceCloseHandle since
it was protected.
(fhandler_pipe::fixup_after_exec): Protect read_state handle.
(fhandler_pipe::dup): Correctly close open handles on error condition.  Verify
that dup'ed handle is not supposed to be in use.
(fhandler_pipe::create): Protect read_state.
2004-01-23 23:05:33 +00:00
Christopher Faylor 7dddf53f5c * cygcheck.cc (pretty_id): Make more robust in absence of id.exe. 2004-01-23 23:04:27 +00:00
Christopher Faylor 35b7fc6c00 * exceptions.cc (sig_handle_tty_stop): Fix boneheaded mistake by using correct
check for parent state rather than inverted check mistakenly introduced on
2003-09-15.
2004-01-23 15:44:15 +00:00
Christopher Faylor a33df42223 * fhandler_serial.cc (fhandler_serial::raw_write): Prevent a deadlock when the
input buffer overflows.
(fhandler_serial::raw_read): Correct to print the actual error and only call
PurgeComm when necessary.
2004-01-23 15:22:48 +00:00
Christopher Faylor fba870ac94 change comment. 2004-01-22 19:16:17 +00:00
Christopher Faylor 35711de753 * dcrt0.cc (reent_data): Make global.
* cygwin.din: Reexport reent_data.
2004-01-22 19:14:07 +00:00
Christopher Faylor 39d06d71ff * cygtls.cc (_threadinfo::remove): Don't assume that we are removing _my_tls.
* exceptions.cc (setup_handler): Improve debugging output.
(call_signal_handler_now): Remove ill-advised debugger call.
* sigproc.cc (sigcomplete_main): Delete.
(sig_send): Honor FIXME and avoid using main thread's completion event for
everything or suffer races.
(pending_signals::add): Default stored mask to current process mask rather than
mask at time of signal send.
(wait_sig): Add debugging output.
* sigproc.h (sigpacket::mask_storage): Delete.
2004-01-22 19:03:19 +00:00
Christopher Faylor 537ca63f8e * fhandler.cc (fhandler_base::open): Revert isfs change. 2004-01-22 15:08:08 +00:00
Corinna Vinschen 30352c261c * cygpath.cc (dowin): Revert accidental checkin from November. 2004-01-22 09:21:56 +00:00
Christopher Faylor a1dcf5d848 * devices.in: Change raw com device to more correct form. 2004-01-21 19:14:19 +00:00
Christopher Faylor 918f634fed * fhandler.cc (fhandler_base::open): Use major numbers rather than device
numbers to control special behavior for devices which take units.
* fhandler_raw.cc (fhandler_dev_raw::writebuf): Ditto.
(fhandler_dev_raw::fstat): Ditto.
(fhandler_dev_raw::open): Ditto.
(fhandler_dev_raw::ioctl): Ditto.
2004-01-21 18:19:29 +00:00
Christopher Faylor 0a0c89ef54 * signal.cc (sigaction): Fix if-statement typo. 2004-01-21 15:47:48 +00:00
Christopher Faylor be14b608aa * cygtls.cc (handle_threadlist_exception): Change logic, improve debugging
output.
2004-01-21 15:16:10 +00:00
Christopher Faylor bcb4223cbc * fhandler_tty.cc (fhandler_tty::ioctl): Semi-revert 2003-09-26 change for
TIOCSWINSZ.  It is not an error for ioctl_request_event to be missing.
* sigproc.cc (pending_signals::save): New function.
(pending_signals::restore): Ditto.
(sig_clear): Save/restore current queue pointer.
(wait_sig): Delete signals marked as such.
* sigproc.h (__SIGDELETE): New enum.
2004-01-21 06:28:35 +00:00
Christopher Faylor 1284fa137f remove extra entry 2004-01-20 19:36:58 +00:00
Christopher Faylor 67fcf127c1 * include/cygwin/version.h: Bump DLL minor number to 8.
* cygmalloc.h: Make more concessions to attempts to get debugging malloc
working.
* debug.h: Ditto.
* dlmalloc.cc: Ditto.
* dlmalloc.h: Ditto.
* malloc_wrapper.cc: Ditto.
* perthread.h (perthread::create): Use calloc to ensure zeroed memory.
2004-01-20 19:36:35 +00:00
Joshua Daniel Franklin 69c7680cf7 2004-01-20 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* Makefile.in: Remove unused cygwin-ug and cygwin-api-int
	targets from default build.
	* how-using.texinfo: Add information about 8-bit character
	display to FAQ.
	* setup2.sgml: Add information about 8-bit character display
	to "Setting up Cygwin".
2004-01-20 17:20:34 +00:00
Corinna Vinschen fb69e3ed46 * sec_acl.cc (setacl): Make sure sd_ret is large enough. 2004-01-20 09:13:20 +00:00
Christopher Faylor 2ad4f99232 fix typo 2004-01-20 03:11:39 +00:00
Joshua Daniel Franklin 701c67ff9e Document new passwd options. 2004-01-20 01:00:20 +00:00
Christopher Faylor d795119cbe * sigproc.cc (sigproc_terminate): Don't close sendsig handle when execing since
we're not closing what we think we're closing.
(sig_send): Improve debugging when exiting due to no_signals_available.
* wincap.h (wincaps::cant_debug_dll_entry): New element.
* wincap.cc: Implement above element throughout.
* dcrt0.cc (initial_env): Accommodate changes necessary to allow initial
debugging for systems which do not allow debugging in dll_entry.
(dll_crt0_0): Add initial_env call back here.
* Makefile.in (install-man): Use mandir as target for installation.
* include/cygwin/version.h: Bump DLL minor number to 7 (should have been done
earlier).
2004-01-19 23:03:43 +00:00
Christopher Faylor f6936c48f3 * cygwin/include/signal.h: Add copyright notice.
* cygwin.din: Make clock SIGFE.  Add clock_gettime, sigwaitinfo, timer_create,
timer_delete, timer_settime.
* include/cygwin/version.h: Reflect above additions.
* fork.cc (fork_child): Call fixup_timers_after_fork.
* signal.cc (sigwait): Remove unused variable.
* timer.cc: New file.
(clock_gettime): Define new function.
(timer_tracker): Define new struct used by timer functions.
(timer_tracker::timer_tracker): New function.
(to_us): New function.
(timer_thread): New function.
(timer_tracker::settime): New function.
(timer_create): New function.
(timer_settime): New function.
(timer_delete): New function.
(fixup_timers_after_fork): New function.
* cygthread.cc: Bump thread count.
* signal.cc (sigwaitinfo): Define new function.
(sigwait): Redefine based on sigwaitinfo.
* include/cygwin/signal.h (sigwaitinfo): Declare.
(sigwait): Ditto.
* dtable.cc (dtable::vfork_parent_restore): Avoid double close of ctty when
ctty == ctty_on_hold.
* cygtls.h (_threadinfo::threadkill): New element.
(_threadinfo::set_threadkill): Declare new function.
(_threadinfo::reset_threadkill): Declare new function.
* dcrt0.cc (dcrt0_1): Call here so that it will be possible to attach to
running process with #(*& Windows Me/9x.
(initial_env): Try to initialize strace if uninitialized.
* gendef: Don't zero signal if threadkill is set since that will happen in the
called function.
* signal.cc (sigwait): Ensure cleanup in error conditions.
* sigproc.cc (sig_send): Clear packet mask storage.
(wait_subproc): Fill in child exit code in siginfo_t structure.
* thread.cc (pthread_kill): Set threadkill flag.
* tlsoffsets.h: Regenerate.  Throughout, use siginfo_t to fill out all signal
information for "kernel" signals.
* cygtls.h (_threadinfo::set_siginfo): Declare new function.
* cygtls.cc (_threadinfo::set_siginfo): Define new function.
* dcrt0.cc (do_exit): Accommodate siginfo_t considerations.
* exceptions.cc (handle_exceptions): Ditto.
(sig_handle_tty_stop): Ditto.
(ctrl_c_handler): Use killsys() to send signal.
(sigpacket::process): Rename from sig_handle.  Use siginfo_t field from
sigpacket for everything.
(tty_min::kill_pgrp): Accommodate siginfo_t considerations.
(fhandler_termios::bg_check): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::ioctl): Use killsys() to send signal.
* signal.cc (kill_worker): Rewrite to use siginfo_t second argument.
(kill_pgrp): Ditto.
(kill0): Define new function pulled from kill().
(kill): Rewrite as frontend to kill0.
(killsys): Define new function.
* sigproc.cc (sigelem): Eliminate.
(sigpacket): Move to sigproc.h.  Subsume sigelem.
(pending_signals): Use sigpacket rather than sigelem for everything.
(sig_clear): Ditto.
(wait_sig): Ditto.
(sig_send): Rewrite to use siginfo_t argument.
(sig_send): New function wratpper to sig_send with siginfo_t argument.
(wait_subproc): Accommodate siginfo_t considerations.
* thread.cc (pthread_kill): Ditto.
* sigproc.h (sigpacket): Move here.
(sigpacket::process): Declare "new" function.
(sig_handle): Eliminate declaration.
(sig_send): Declare with new paramaters.
(killsys): Declare new function.
(kill_pgrp): Declare.
* winsup.h: Move some signal-specific stuff to sigproc.h.
* include/cygwin/signal.h: Tweak some siginfo_t stuff.
2004-01-19 05:46:54 +00:00
Christopher Faylor 49fec4c011 update 2004-01-19 05:23:02 +00:00
Danny Smith ff853e0108 * include/stdint.h Fix __STDC_CONSTANT_MACROS for 8 and 16 bit
types. (Thanks to John Maddock for report.)
2004-01-17 07:41:54 +00:00
Christopher Faylor 42f5993f2d * dtable.cc (dtable::vfork_parent_restore): Avoid double close of ctty when
ctty == ctty_on_hold.
2004-01-17 05:49:42 +00:00
Christopher Faylor 46ee54222e * fhandler_console.cc (fhandler_console::close): Remove obsolete test for
vfork_cleanup.
* pipe.cc (fhandler_pipe::close): Add comment.
2004-01-17 03:47:27 +00:00
Christopher Faylor 49d0c04260 * cygheap.cc (init_cygheap::close_ctty): Don't NULL ctty if it is still active. 2004-01-16 22:54:14 +00:00
Christopher Faylor 001197aee3 * dtable.cc (dtable::vfork_parent_restore): Store ctty_on_hold prior to calling
close_all_files since it will be zeroed.
2004-01-16 21:51:30 +00:00
Corinna Vinschen 8e7014383b * process.h (cleanup_routine::~cleanup_routine): Make pure virtual
function to avoid miscompilation with certain versions of gcc.
	* process.cc (cleanup_routine::~cleanup_routine): Remove.
2004-01-16 13:39:25 +00:00
Danny Smith c0bd991305 2004-01-16 Martin Fuchs <martin-fuchs@gmx.net>
* include/shlobj.h (SHGDN_INCLUDE_NONFILESYS): Add define.
2004-01-16 09:25:01 +00:00
Joshua Daniel Franklin 42fb62041d 2004-01-15 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* setup-net.sgml: Add "internet-setup" id anchor.
	* overview.sgml: Update "What is it?" section. Add links to
	"Is it free software?" section. Update "Brief History" section.
	* overview2.sgml: Rewrite "Expectations for {Windows,Unix}"
	as "Quick Start for those more experienced with {Windows,Unix}".
2004-01-16 06:31:49 +00:00
Christopher Faylor ac02533e08 * gentls_offsets: Reinstate unlink of temp files.
* fhandler_console.cc (fhandler_console::close): Fix debugging output.
(fhandler_console::fixup_after_fork): Decrement open_fhs prior to call to
fhandler_console::open since this would cause incrementing too much
incrementing in child processes.  (Probably needs to be handled more elegantly
someday)
(fhandler_console::fixup_after_exec): Ditto.
2004-01-15 19:51:49 +00:00
Danny Smith d4c437af3e 2004-01-15 Filip Navara <xnavara@volny.cz>
* include/ddk/mcd.h: Don't care about value of DBG define.
	* include/ddk/srb.h: Ditto.
	* include/ddk/storport.h: Ditto.
	* include/ddk/video.h: Ditto.
	* include/nspapi.h (SetServiceW, GetAddressByNameA,
	GetAddressByNameW): Correct protoype.
	* include/ntsecapi.h (PCUNICODE_STRING): Define.
2004-01-15 07:19:20 +00:00
Christopher Faylor 2d1d1eb1e4 * cygtls.h (_threadinfo::call): Remove regparm declaration to work around
compiler bug.
* autoload.cc (TryEnterCriticalSection): Remove.
* dcrt0.cc (dll_crt0_0): Delete inappropriate setting of _my_tls.stackptr to
NULL since it has really bad consequences.  Make 'si' an automatic variable.
* cygtls.cc (_threadinfo::init_thread): Correct thinko which caused thread list
to be allocated every time.
* cygtls.h (CYGTLS_PADSIZE): Define as const int.
* sync.h: Make multiple inclusion safe.
(muto::next): Eliminate.
(muto::exiting_thread): New variable.
(muto::set_exiting_thread): New function.
(new_muto): Change to use different section for mutos since c++ give
inexplicable warning in some cases otherwise.
(new_muto1): Ditto.
* dcrt0.cc (do_exit): Call muto::set_exiting_thread here.
* sync.cc (muto_start): Eliminate.
(muto::acquire): Always give exiting thread a lock.  Never give thread a lock
if exiting.
(muto::release): Ditto for releasing.
* dtable.cc (dtable::init_lock): Unline function and define here.
* dtable.h (lock_cs): Define as a muto since critical sections seem to work
oddly on Windows Me.
(lock): Accommodate switch to muto.
(unlock): Ditto.
* exceptions.cc (setup_handler): Don't worry about acquiring mutos since that
hasn't mattered for a long time.
(signal_exit): Ditto: muto stuff will be handled automatically on exit now.
* Makefile.in (DLL_IMPORTS): Link advapi32 to ensure proper DLL initialization.
* autoload.cc (RegCloseKey): Arbitrarily choose this function as a "seed" to
pull the advapi32 link library in.  So, comment out the autoloading.
* cygtls.cc (_threadinfo::init_thread): Just clear CYGTLS_PADSIZE.
(_threadinfo::remove): Add debugging.
(_threadinfo::find_tls): Ditto.
* cygtls.h (_threadinfo::padding): Make zero length (for now?).
* dcrt0.cc (dll_crt0_0): Move more initialization here from dll_crt0_1.
(dll_crt0_1): See above.
* dtable.h (dtable::lock): Remove commented out critical section locking.
* dtable.h (dtable::init_lock): Remove commented out critical section locking.
* dtable.h (dtable::unlock): Remove commented out critical section locking.
* exceptions.cc (interruptible): bool'ize.
* init.cc (threadfunc_fe): Revert to storing threadfunc at stack bottom.
(munge_threadfunc): Ditto.  Avoid adding overhead to calibration_thread.
(prime_threads): Don't initialize tls stuff.
(dll_entry): Make minor change to initialization order.
* tlsoffsets.h: Regenerate.
* sigproc.cc (wait_sig): Add sanity check for end of process thread exit.
* select.h: Make minor formatting change.
* Makefile.in: Add still more -fomit-frame-pointer functions.
* dtable.h (dtable::lock): New function.
(dtable::unlock): New function.
(dtable::init_lock): New function.
* cygheap.h (HEAP_TLS): Declare new enum value.
(init_cygheap::threadlist): Declare new array.
(init_cygheap::sthreads): Declare new variable.
(cygheap_fdmanip::~cygheap_fdmanip): Use new dtable lock/unlock functions.
(cygheap_fdnew::cygheap_fdnew): Ditto.
(cygheap_fdget::cygheap_fdget): Ditto.
* dtable.cc (dtable_init): Initialize fdtab critical section.
(dtable::fixup_after_fork): Ditto.
(dtable::fixup_after_exec): Ditto.
(dtable::dup2): Use lock/unlock calls to protect access to fdtab.
(dtable::find_fifo): Ditto.
(dtable::fixup_before_fork): Ditto.
(dtable::fixup_before_exec): Ditto.
(dtable::set_file_pointers_for_exec): Ditto.
(dtable::vfork_child_dup): Ditto.
(dtable::vfork_parent_restore): Ditto.
* syscalls.cc (close_all_files): Ditto.
* sync.h (muto::acquired): Declare new function.
(new_muto1): Declare new macro used to specify name of muto storage.
* sync.cc (muto::acquired): Define new function.
* cygthread.cc (cygthread::stub): Remove signal chain removal call since it is
handled during initialization now.
* cygthread.cc (cygthread::simplestub): Remove signal chain removal call since
it is handled during initialization now.
* cygtls.cc (sentry): New class used for locking.  Use throughout.
(_threadinfo::reset_exception): Don't pop stack.
(_threadinfo::find_tls): Move from exceptions.cc.
(_threadinfo::init_thread): Initialize array of threads rather than linked
list.  Take second argument indicating thread function for this thread.
(_threadinfo::remove): Search thread array rather than linked list.  Use sentry
to lock.  Only unlock if we got the lock.
(_threadinfo::find_tls): Ditto for first two.
(handle_threadlist_exception): Handle exceptions when manipulating the thread
list in case of premature thread termination.
(_threadinfo::init_threadlist_exceptions): Ditto.
* cygtls.h (TLS_STACK_SIZE): Decrease size.
(_threadinfo::padding): Add element to avoid overwriting lower part of stack.
(_threadinfo::remove): Add a "wait" argument to control how long we wait for a
lock before removing.
* exceptions.cc (init_exception_handler): Make global.  Take argument to
control exception handler being set.
(ctrl_c_handler): Wait forever when removing self from signal chain.
(_threadinfo::find_tls): Move to cygtls.cc.
(sig_handle): Reorganize detection for thread-specific signals.
* heap.cc (heap_init): Rework slightly.  Make fatal error more verbose.  Remove
malloc initialization since it can't happen during dll attach.
* init.cc (search_for): Move address to search for on stack here.
(threadfunc_ix): Ditto for stack offset.  Make shared so that stack walk
potentially only has to be done once when cygwin processes are running.
(threadfunc_fe): Use standard tls to store thread function (may change back
later).
(calibration_thread): New function.  Potentially called to find threadfunc_ix.
(munge_threadfunc): Search for "search_for" value on stack.  Output warning
when thread func not found on stack.  Use standard tls to store thread
function.
(prime_threads): New function.  Called to prime thread front end.
(dll_entry): Call dll_crt0_0 here when DLL_PROCESS_ATTACH.  Call prime_threads
here.  Try to remove thread from signal list here.
* sigproc.cc (wait_sig): Initialize threadlist exception stuff here.
* thread.cc (pthread::exit): Pass argument to signal list remove function.
* thread.h: Remove obsolete *ResourceLock defines.
* tlsoffsets.h: Regenerate.
* winsup.h (spf): Define temporary debug macro to be deleted later.
* dcrt0.cc (dll_crt0_0): New function, called during DLL initialization.
Mainly consists of code pulled from dll_crt0_1.
(dll_crt0_1): See above.
(_dll_crt0): Wait for initial calibration thread to complete, if appropriate.
Move some stuff to dll_crt0_0.
(initialize_main_tls): Accommodate argument change to
_thread_info::init_thread.
* fork.cc (fork_child): Ditto.
(sync_with_child): Fix debug message.
* external.cc (cygwin_internal): Remove special considerations for
uninitialized dll since initialization happens during dll attach now.
* dlfcn.cc (dlopen): Remove obsolete *ResourceLock calls.
(dlclose): Ditto.
* cygheap.h (init_cygheap::close_ctty): Declare new function.
* cygheap.cc (init_cygheap::close_ctty): Define new function.
* syscalls.cc (close_all_files): Use close_ctty.
(setsid): Ditto.
* cygthread.cc (cygthread::stub): Remove exception initialization.
* cygthread.cc (cygthread::stub): Remove exception initialization.
(cygthread::simplestub): Ditto.
* thread.cc (pthread::thread_init_wrapper): Ditto.
* cygtls.cc (_last_thread): Make static.
(_threadinfo::call2): Initialize exception handler here.
(_threadinfo::find_tls): Move here.
* exceptions.cc (_threadinfo::find_tls): Move.
* dcrt0.cc (__api_fatal): Add prefix info to message here rather than including
it in every call to function.
* winsup.h (api_fatal): Accommodate above change.
* debug.cc (add_handle): Don't do anything if cygheap not around.
(mark_closed): Ditto.
* dll_init.cc (dll_list::detach): Fix debug output.
* fork.cc (sync_with_child): Ditto.
(vfork): Improve debug output.
* heap.cc (heap_init): Ditto.
* exceptions.cc (try_to_debug): Clarify message when debugger attaches.
2004-01-14 15:45:37 +00:00
Danny Smith 461d06f79d 2004-01-14 Greg Chicares <chicares@users.sourceforge.net>
* include/tchar.h (_puttchar): Define.
2004-01-14 07:53:43 +00:00
Joshua Daniel Franklin bcc4e18d5f 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* dll_init.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * dtable.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * external.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * path.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * pinfo.cc: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * shared.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * stackdump.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
2004-01-11 18:52:50 +00:00
Joshua Daniel Franklin ac51da4818 2004-01-11 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* Makefile.in: Add new target for single-file User's Guide, use new
        cygwin.dsl for output.
        * cygwin.dsl: New file, DSSSL stylesheet for custom Cygwin output.
        * cygwin-api.in.sgml: Update to DocBook SGML 4.2 DTD.
        * cygwin-ug-net.in.sgml: Update to DocBook SGML 4.2 DTD.
        * cygwin-ug.in.sgml: Update to DocBook SGML 4.2 DTD.
        * cygwinenv.sgml: Correct some tags. Add description of default values
        to ntsec, export, and error_start items.
        * dll.sgml: Add explanation of cyg prefix for DLLs.
        * effectively.sgml: Use systemitem tag for names of Cygwin packages.
        * how-programming.texinfo: Add example to FAQ entry.
        * pathnames.sgml: Add discussion of /proc filesystem.
	* setup-net.sgml: Correct some typos and grammar.
2004-01-11 08:32:09 +00:00
Danny Smith edee465c9a 2004-01-05 Filip Navara <xnavara@volny.cz>
* include/prsht.h (LPCPROPSHEETPAGEW): Fix definition.
	* include/shlwapi.h (SHRegQueryInfoUSKey[AW]): Fix prototype.
	* include/cpl.h (CPL_STARTWPARMS[AW]): Correct.
	* include/shellapi.h (ABS_AUTOHIDE, ABS_ALWAYSONTOP,
	SEE_MASK_NO_CONSOLE, SEE_MASK_ASYNCOK, SEE_MASK_HMONITOR,
	FOF_NOCOPYSECURITYATTRIBS): Add defines.
	* include/shlobj.h (BFFM_SETOKTEXT, BFFM_SETEXPANDED,
	CSIDL_FLAG_DONT_VERIFY, CSIDL_FLAG_CREATE, CSIDL_FLAG_MASK,
	CFSTR_INETURL[AW], SHGDN_FOREDITING, SHGDN_FORADDRESSBAR,
	SSF_*): Add defines.
	(SHCNF_PATH[AW], SHCNF_PRINTER[AW], CFSTR_FILENAME[AW],
	CFSTR_FILENAMEMAP[AW], CFSTR_FILEDESCRIPTOR[AW], CFSTR_SHELLURL,
	CMDSTR_NEWFOLDER[AW], CMDSTR_VIEWLIST[AW], CMDSTR_VIEWDETAILS[AW]):
	Correct.
	(IEnumIDList): Add COBJMACROS.
	* include/winuser.h (MIM_*): Add define.
2004-01-04 21:35:32 +00:00
Danny Smith ae70c6f183 * include/mshtml.h (IHTMLDocument2): Correct write, writeln
declarations.
	Thanks to: Rene Nyffenegger <renenyffenegger@users.sf.net>.
2004-01-04 09:04:19 +00:00
Danny Smith ffdd3bba14 * include/mshtml.h (IHTMLDocument2): Correct write, writeln
declarations.
	Thanks to: Rene Nyffenegger <renenyffenegger@users.sf.net>.
2004-01-03 23:18:31 +00:00
Danny Smith b01201ec32 2004-01-03 Filip Navara <xnavara@volny.cz>
* include/cguid.h (CLSID_StdGlobalInterfaceTable): Declare IID.
	* include/oaidl.h (ITypeLib2, ITypeInfo2): Define interfaces,
	declare IID's.
	(IErrorInfo): Add COBJMACROS.
	* include/objbase.h (STGM_NOSNAPSHOT): Add define.
	(CoGetPSClsid): Add protototype,
	(CoRegisterPSClsid): Likewise.
	* include/objidl.h (IMarshal): Correct methods.
	(IMallocSpy): Likewise,
	(LPPSFACTORYBUFFER): Add typedef.
	(IGlobalInterfaceTable): Define interface and COBJMACROS. Declare
	IID.
	(IStorage_CreateStorage, IRpcStubBuffer_Invoke): Fix macros.
	* include/ocidl.h (PROPBAG2_TYPE): Define enum.
	(PROPBAG2, QACONTAINERFLAGS, QACONTAINER, QACONTROL): Define
	structures.
	(IPropertyBag2, IPersistPropertyBag2,IAdviseSinkEx, IPointerInactive,
	IOleUndoUnit, IOleParentUndoUnit, IEnumOleUndoUnits, IOleUndoManager,
	IQuickActivate): Define interfaces. Declare IID's.
	(IPersistPropertyBag2): Add COBJMACROS.
	(LPOLEUNDOMANAGER): Add typedef.
	(LPPROPERTYBAG2): Likewise.
	* include/oleidl.h (LPPARSEDISPLAYNAME): Fix definiton.
	(BINDSPEED): Add definition.
	(IParseDisplayName, IOleItemContainer, IOleObject, IDropSource,
	IDropTarget): Add COBJMACROS.
	* include/wtypes.h (MEMCTX, MSHCTX): Fix enums.
	* include/winerror.h (CO_S_NOTALLINTERFACES): Add define.
	* lib/uuid.c (IID_IGlobalInterfaceTable, IID_IOleUndoManager,
	IID_IPersistPropertyBag2, IID_IPropertyBag2, IID_IRpcProxyBuffer):
	Add definitions.
2004-01-03 22:12:35 +00:00
Christopher Faylor 0efff769fd * exceptions.cc (_threadinfo::interrupt_now): Avoid double call to sigdelayed.
* pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused most
pids to be shown as "<defunct>" on Win9x.
2004-01-03 20:57:11 +00:00
Christopher Faylor c0bece84cd add missing entry 2004-01-03 19:06:21 +00:00
Christopher Faylor 05461d6322 2004 stuff. 2004-01-03 18:55:14 +00:00
Christopher Faylor 85dde362ca 2004 stuff 2004-01-03 18:53:49 +00:00
Christopher Faylor e80cbe3e52 * cygheap.h (init_cygheap): Play more vfork shell games and move ctty_on_hold
and open_fhs_on_hold (back) here.
* dcrt0.cc (_dll_crt0): Just set impure_ptr_ptr here and let later
initialization deal with tls.
* dtable.cc (dtable::vfork_child_fixup): Move ctty considerations here.
(dtable:vfork_parent_restore): And here.
* fork.cc (vfork): Reflect change to ctty handling.
* perthread.h (vfork_save::fhctty): Eliminate.
* cygwin.din: Make more exports NOSIGFE that will never be interrupted by a
signal.
* init.cc (dll_entry): Set stackptr to NULL to catch problems earlier.
2004-01-03 18:15:03 +00:00
Danny Smith 8b93d1c1ab 2004-01-02 Filip Navara <xnavara@volny.cz>
* include/ddk/winddk.h: Don't care about value of
	DBG define.

2004-01-02  Danny Smith  <dannysmith@users.sourceforge.net>
	    Filip Navara  <xnavara@volny.cz>

	* include/ddk/winddk.h (_DDK_DUMMYUNION_MEMBER,
	_DDK_DUMMYUNION_N_MEMBER): New macros.
	(ExAllocateFromPagedLookasideList,ExFreeToPagedLookasideList,
	ExAllocateFromNPagedLookasideList, ExFreeToNPagedLookasideList):
	Use them.
2004-01-02 03:19:52 +00:00
Danny Smith c8b0d378a7 2004-01-01 Filip Navara <xnavara@volny.cz>
* include/objbase.h:  Don't care about value of DBG define.
	* include/objidl.h: Add some COBJMACROS.
	* include/ocidl.h: Ditto.
	* include/oleidl.h: Ditto.
	* include/servprov.h: Ditto.
	* include/shlobj.h: Ditto.
	* include/shlobj.h (IContextMenu2): Correct parent in
	DECLARE_INTERFACE.
	* include/oleidl.h (IOleCache, IOleCache2, IOleCacheControl):
	Define interfaces.
	* include/setupapi.h (SetupGetLineTextA): Correct prototype.
	Add new constants for _SETUPAPI_VER >= 0x501.
2004-01-01 22:34:20 +00:00
Danny Smith 8e2d432524 2004-01-01 Filip Navara <xnavara@volny.cz>
* include/winnt.h (NtCurrentTeb): Add inline definition.
2004-01-01 11:21:48 +00:00
Danny Smith 855c33f8b7 2004-01-01 Martin Fuchs <martin-fuchs@gmx.net>
* include/shlobj.h (SHCoCreateInstance): Add prototype..
	* lib/shell32.def (SHCoCreateInstance): Add export stub.
2004-01-01 11:00:43 +00:00
Danny Smith 54407e0691 2004-01-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* lib/setupapi.def (CM_Request_Device_Eject[AW]): Add export.
	(CM_Request_Device_Eject_Ex[AW]): Likwise.
	* include/ddk/cfg.h (DN_*): Add defines.
2004-01-01 10:31:41 +00:00
Danny Smith 9330626fd4 * lib/ddk/cfgmgr32.def: Remove duplicate symbol names. 2004-01-01 10:21:01 +00:00
Danny Smith 4f28a0f0fe 2004-01-01 Mattia Barbon <mbarbon@users.sourceforge.net>
* include/commctrl.h (TVN_GETINFOTIP): Add UNICODE mappings.
	(NMTVGETINFOTIP): Add structure.
2004-01-01 10:16:13 +00:00
Christopher Faylor a7d42fef9f * cygwin.din: Make crt0 functions NOSIGFE.
* include/cygwin/version.h: Gratuitous comment change.
* lib/_cygwin_crt0_common.cc: Remove unneeded declaration.
2003-12-31 06:30:48 +00:00
Christopher Faylor f7cb207b69 * cygtls.h (_threadinfo::stack): Increase stack size to accommodate nested
signal handlers.  Reorganize to cause potential SEGV on stack overflow.
* sigproc.cc (no_signals_available): Check sendsig value rather than relying on
obsolete sig_loop_wait.
(sigproc_terminate): Ditto.
(proc_can_be_signalled): Check sendsig value even for myself.
* tlsoffsets.h: Regenerate.
2003-12-30 03:59:45 +00:00
Christopher Faylor 8ed5c9b629 Move open_fhs from fhandler.h to cygheap.h for easier tracking. Accommodate
this change throughout.
* dtable.cc (dtable::add_archetype): Use correct count when iterating through
*active* archetypes.
* dtable.cc (dtable::fixup_after_exec): Close handle if close_on_exec and
archetype exists since archetype currently does not set windows close-on-exec
flag (FIXME).
* fhandler_tty.cc (fhandler_tty_slave::open): Change debugging output slightly.
(fhandler_tty_slave::close): Ditto.
(fhandler_tty_slave::fixup_after_fork): Just report on inherited use counts
since since archetype currently does not set windows close-on-exec flag
(FIXME).
* pinfo.cc (_pinfo::set_ctty): Change debugging output slightly.
* cygheap.cc (cygheap_init): Remove open_fhs accommodation and use count
reporting.
* perthread.h (vfork_save::fhctty): New element.
* perthread.h (vfork_save::open_fhs): New element.
* fork.cc (vfork): Muck around with ctty and open_fhs stuff, both of which are
now saved in the vfork_save structure.
2003-12-30 01:57:16 +00:00
Christopher Faylor e97377932b * fhandler.h (fhandler_tty_slave::archetype): Make public.
(report_tty_counts): New macro.  Use throughout for reporting tty use counts.
* dtable.cc (dtable::vfork_child_dup): Add debugging output for usecount
increment.  Increment open_fhs if appropriate.
(dtable::vfork_parent_restore): "Close" artificially bumped ctty.
(dtable::vfork_child_fixup): Close ctty since it was bumped prior to vfork.
Save open_fhs around close since the closing of these handles has no effect on
the console.
* fhandler_tty.cc (fhandler_tty_slave::open): Reorganize calls to allow for
easier tracking of usecount modification.
(fhandler_tty_slave::open): Ditto.
2003-12-27 17:41:17 +00:00
Christopher Faylor fe861ce934 * syscalls.cc (close_all_files): Simplify logic around closing ctty. 2003-12-27 02:41:07 +00:00
Christopher Faylor e35f197f34 * pinfo.cc (_pinfo::set_ctty): *Always* call close on opened ctty since it
counts as an opened handle.
2003-12-27 02:20:07 +00:00
Christopher Faylor 1df3fbe2db * fhandler.h (fhandler_tty_master::fixup_after_fork): Remove declaration.
(fhandler_tty_master::fixup_after_exec): Ditto.
* fhandler_tty.cc (fhandler_tty_master::init): Fix so that children do not
inherit master tty handles.
(fhandler_tty_master::fixup_after_fork): Remove, since it was never used.
(fhandler_tty_master::fixup_after_exec): Ditto.
* pinfo.cc (_pinfo::set_ctty): Increment open_fhs when ctty is set.
* cygheap.cc (cygheap_init): Ditto.
* syscalls.cc (setsid): *Always* call close on opened ctty since the archetype
is associated with the ctty and it counts as an opened handle.
* tty.cc (tty::common_init): Don't protect input/output mutex since it confuses
subsequent fork/execs when CYGWIN=tty.
2003-12-27 01:59:29 +00:00
Christopher Faylor 56b5feb639 * exceptions.cc (try_to_debug): Fix off-by-one problem when resetting
environment variable after error_start detected.
* fhandler_tty_slave.cc (fhandler_tty_slave::close): Clarify debug message.
* syscalls.cc (setsid): Don't increment usecount here, since it will be
automatically decremented on close.
2003-12-27 00:25:02 +00:00
Christopher Faylor 6dc18ca4d3 * exceptions.cc (setup_handler): Protect against a race. 2003-12-26 18:30:41 +00:00
Christopher Faylor 39add36fc3 * path.cc (mount_item::build_win32): Backslashify paths in non-managed case. 2003-12-26 18:26:17 +00:00
Christopher Faylor 91301b852f * Makefile.in (CFLAGS, CXXFLAGS): Remove unneeded include.
(CYGWIN_LIB): Delete.
(cygserver.exe target): Add -L$(cygwin_build) to the link line to force linker
to use build tree version of the library.  Remove specific inclusion of
libcygwin.a from the link line.
2003-12-26 05:37:54 +00:00
Christopher Faylor 76832a5b32 * dcrt0.cc (reent_data): Reluctantly resurrect.
(__cygwin_user_data::impure_ptr): Ditto.
(_dll_crt0): Reluctantly initialize _impure_ptr here.
(initialize_main_tls): Eliminate local_clib initialization since it now happens
in init_thread.
* init.cc (dll_entry): Reluctantly remove code which set _impure_ptr to the
main thread's local_clib.
* perthread.h (reent_data): Remove obsolete declaration.
* sigproc.cc (proc_subproc): Add more debugging output.
(get_proc_lock): Ditto.
*dcrt0.cc (dll_crt0_1): Allocate argv[0] via malloc since main thread could
exit.
2003-12-26 04:40:52 +00:00
Christopher Faylor 1f32b7b382 * winsup.api/pthread/rwlock7.c (main): Don't assume that result of rand
operation is non-zero.
2003-12-24 04:37:19 +00:00
Christopher Faylor 05b2a10ba4 * fork.cc (fork_child): After a pthread/fork, ensure that impure pointer stuff
which resides in parent is propagated to child thread.
2003-12-23 22:24:38 +00:00
Christopher Faylor 281e419402 add missing file 2003-12-23 16:43:45 +00:00
Christopher Faylor 29d52c8a27 * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report
calculated mask in debugging output.
* sigproc.h (set_signal_mask): Reflect above change in declaration.
* path.cc (mount_item::build_win32): Take path apart before feeding it to
fnmunge.  Throughout, change use of _reent_winsup()-> to _my_tls.locals.
instead.  Throughout, remove obsolete MT_SAFE/_CYG_THREAD_FAILSAFE
considerations.  Througout, add cygtls.h include.
* Makefile.in (DLL_OFILES): Add cygtls.o.  Add some more objects to the
-fomit-frame-pointer list.
* acconfig.h: Remove obsolete settings.
* config.h.in: Ditto.
* bsdlib.cc: Add cygtls.h include.
* configure.in: Remove --enable-extra-threadsafe-checking.
* configure: Regenerate.
* cygtls.h (_local_storage): New struct renamed from _winsup_t (sic).
(_threadinfo:local_clib): Add new field.
(_threadinfo::locals): Ditto.
(_threadinfo::init_thread): Accept second _reent * argument.
(_threadinfo::call): Define as regparm.
(CYGTLS_PADSIZE): Remove unnecessary slop.
(_getreent): Define as a macro.
* thread.h: Remove _CYG_THREAD_FAILSAFE and MT_SAFE stuff.
(_winsup_t): Move to cygtls.h.
(ResourceLocks::ResourceLocks): Eliminate empty constructor.
(MTinterface::reents): Eliminate.
(MTinterface::thread_self_key): Eliminate.
(MTinterface::MTinterface): Eliminate.
* dcrt0.cc: Include stdio.h for _impure_ptr initialization.
(do_global_ctors): Remove run_ctors_p (sic) considerations.  Don't call atexit
here.
(__main): Initialize destructors for user here.
(dll_crt0_1): Accept a dummy argument.  Don't call init_thread here.  Don't set
_impure_ptr here.  Call do_global_ctors after more things have been
initialized.
(_dll_crt0): Define zeros buffer as max of needed size of CYGTLS_PADSIZE so
that it can be used for two purposes while minimizing stack usage.  Initialize
_impure_ptr specifically, for speed.  Call dll_crt0_1 with buffer argument.
(cygwin_dll_init): Call dll_crt0_1 with dummy argument.
* dtable.cc (dtable::find_unused_handle): Remove call to AssertResourceOwner.
* exceptions.cc: Move _threadinfo stuff to new file.
* cygtls.cc: New file.
* gentls_offsets: Accommodate increasing complexity of cygtls.h.
* hires.h (hires_base::~hires_base): Remove.
* init.cc (dll_entry): Remove setting of reents.
* thread.cc: Remove syslog.h include.
(__getreent): Simplify to use _my_tls.
(_reent_winsup): Delete.
(AssertResourceOwner): Delete.
(MTinterface::Init): Remove setting of _clib and _winsup, with all that
entails.
(MTinterface::fixup_after_fork): Ditto.
(pthread::thread_init_wrapper): Ditto.  Also remove call to
set_tls_self_pointer.
(pthread::set_tls_self_pointer): Eliminate.
(pthread::get_tls_self_pointer): Just return _my_tls.tid;
(__reent_t::init_clib): Eliminate.
* tlsoffsets.h: Regenerate.
2003-12-23 16:26:31 +00:00