aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-09-20* dcrt0.cc (do_exit): Only call sigproc_terminate from one location --Christopher Faylor6-21/+45
pinfo::exit. * pinfo.cc (pinfo::exit): Move sigproc_terminate later so that signals can be processed while waiting for hExeced child. (pinfo::maybe_set_exit_code_from_windows): Set exit code from sigExeced if it is non-zero. Set exit_state to ES_EXEC_EXIT prior to waiting for captive process exit code. * exceptions.cc (sigExeced): New global variable. (signal_exit): Remove noreturn attribute from declaration. (signal_exit): Just terminate captive process and return if hExeced on the theory that the exit will be subsequently handled in the main thread. * sigproc.cc (sigproc_terminate): Eliminate test for ES_SIGPROCTERMINATE and use ES_FINAL instead. (sig_send): Use no_signals_available instead of duplicate test. * winsup.h (ES_EXEC_EXIT): New enum. (ES_SIGPROCTERMINATE): Delete.
2005-09-192005-09-19 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2-0/+5
* libc/sys/rtems/include/stdint.h: Moved to... * libc/include/stdint.h: ...here.
2005-09-19white space changes to force new snapshotChristopher Faylor1-3/+3
2005-09-19* sigproc.cc (talktome): Take siginfo_t argument. Don't scan all pids tryingChristopher Faylor2-7/+12
to find one that's talking to me. Just use the pid from siginfo_t. (wait_pid): Pass siginfo_t argument to talktome.
2005-09-19 * include/winsock2.h (SO_EXCLUSIVEADDRUSE): Define.Danny Smith2-0/+6
Thanks to Gisle Vanem <giva at bgnett dot no>
2005-09-19 * include/stdlib.h (strtof): Add prototype. UglifyDanny Smith2-6/+25
parameter names in inline definition. (wcstof): Likewise. (_Exit): Uglify parameter names in inline definition. (llabs): Add prototype. (_set_error_mode): Add prototype and input defines.
2005-09-17* pipe.cc (fhandler_pipe::open): Use 'cfree' to free buffer since it is nowChristopher Faylor2-1/+6
allocated by cmalloc.
2005-09-17 * net.cc (cygwin_inet_ntop): Change len argument to socklen_t toCorinna Vinschen4-3/+11
follow SUSv3. * include/arpa/inet.h (inet_ntop): Ditto. * include/cygwin/in.h: Include cygwin/socket.h to get socklen_t.
2005-09-16* environ.cc (build_env): Use "kilo"bytes not "mega"bytes. Return immediatelyChristopher Faylor3-2/+11
on error. * spawn.cc (spawn_guts): Set return value to -1 on error from build_env.
2005-09-16* environ.cc (build_env): Clear envblock and return NULL on attempt to use envChristopher Faylor3-1/+17
var > 32K. * spawn.cc (spawn_guts): Set E2BIG if build_env detects an error.
2005-09-16* environ.cc (environ_init): Protect with a 'myfault' in caseChristopher Faylor2-0/+15
GetEnvironmentStrings misbehaves. * environ.cc (environ_init): Add debugging output with value returned from GetEnvironmentStrings.
2005-09-16* environ.cc (environ_init): Issue an error if GetEnvironmentStrings fails andChristopher Faylor2-0/+11
return.
2005-09-16* pinfo.h (EXITCODE_SET): Move out of range of Windows error.Christopher Faylor3-19/+23
(EXITCODE_NOSET): Ditto. * sigproc.cc (no_signals_available): Remove check for hwait_sig. Just rely on my_sendsig. Pass in an argument controlling when it is appropriate to test EXITCODE_SET. (proc_can_be_signalled): Remove checks for myself since this function is never called in that context. (sigproc_init): Pre-initialize my_sendsig to non-zero so that proc_can_be_signalled will know that we expect to be signalable soon. (sig_send): Change debugging output.
2005-09-16* sigproc.cc (no_signals_available): Return true if sending to self from theChristopher Faylor5-14/+16
signal thread. (wait_sig): Correct so that WaitForSingleObject is called when hMainThread is != 0, rather than the reverse. * cygheap.cc (cygheap_fixup_in_child): Clarify potential error message. * fork.cc (fork_copy): Cosmetic change.
2005-09-15* sigproc.cc (wait_sig): Reorganize exit case so that ExitProcess is alwaysChristopher Faylor2-12/+27
called, since that is the intent of sending a __SIGEXIT. Wait forever for main thread to go away since, presumably, the main thread told us it was going away.
2005-09-15 * cygwinenv.sgml (ntea): Add some wording to scare people awayCorinna Vinschen2-5/+15
from using this option.
2005-09-15* spawn.cc (av::fixup): Avoid breaking out of the wrong "loop".Christopher Faylor2-19/+22
2005-09-15* hookapi.cc (hook_or_detect_cygwin): Simplify very slightly.Christopher Faylor3-11/+36
* spawn.cc (av::fixup): Guard against problems reading an executable which does not match Microsoft's documentation about PE format.
2005-09-14* spawn.cc (av::error): Eliminate.Christopher Faylor2-22/+27
(av::av): Remove reference to error. (av::replace0_maybe): Ditto. (av::dup_maybe): Ditto. (av::dup_all): Ditto. (av::unshift): Ditto. (spawn_guts): On a fault, return E2BIG only if ENOMEM has been set. Otherwise return EFAULT.
2005-09-14* cygtls.h (san): New structure.Christopher Faylor4-26/+46
(cygtls::andreas): New element. Replaces _myfault and _myfault_errno. (cygtls::fault_guarded): Use andreas. (cygtls::return_from_fault): Ditto. (cygtls::setup_fault): Add a parameter denoting where to store old fault handler, if any and use it to "stack" faults. (cygtls::reset_fault): Restore fault from parameter. (myfault::sebastian): New variable. (myfault::~myfault): Pass sebastian to reset_fault. (myfault::myfault): Store old fault values in sebastian.
2005-09-14* heap.cc (heap_init): Revert 2005-09-11 patch as it seems to inexplicablyChristopher Faylor2-2/+8
cause problems with emacs.
2005-09-14Remove some more unneeded 'return;'s throughout.Christopher Faylor18-24/+4
2005-09-14* sigproc.h: Protect declaration so that it only happens whenChristopher Faylor2-0/+7
__INSIDE_CYGWIN__.
2005-09-14.Christopher Faylor1-1/+1
2005-09-14* exceptions.cc (sigtid): Remove declaration.Christopher Faylor8-42/+79
(handle_exceptions): Use _sig_tls rather than sigtid to determine if this is the signal thread. (set_signal_mask): Ditto for conditionalized CGF code. * pinfo.cc (pinfo::exit): Exit the thread if we forcefully terminated the main thread * sigproc.cc (sigtid): Delete. (_sig_tls): Define. (sig_clear): Use _sig_tls rather than sigtid to determine if this is the signal thread. (sig_dispatch_pending): Ditto. (wait_sig): Set _sig_tls here. * dcrt0.cc (do_exit): Move sigproc_terminate call later since signal handling was still needed for subsequent stuff. Call sigproc_terminate with new exit_state value. * pinfo.cc (pinfo::exit): Call sigproc_terminate with new exit_state value. * sigproc.cc (proc_terminate): Remove unnecessary (void) parameter. (sigproc_terminate): Ditto. Add new argument to accept exit state to be set. (wait_sig): Reorganize __SIGEXIT handling. Add more debugging output. * winsup.h (sigproc_terminate): Declare with new exit_state argument. (exit_states): Reorganize to reflect new exit ordering of sigproc_terminate.
2005-09-13* dcrt0.cc (do_exit): Rely on sigproc_terminate to set exit_stateChristopher Faylor14-60/+97
appropriately. * pinfo.cc (pinfo::exit): Always call sigproc_terminate here. Rely on sigproc_terminate to signal signal thread to handle eventual process exit. * sigproc.cc (no_signals_available): Change criteria for determining if this process can handle signals to itself. (my_sendsig): New variable. Copy of my sendsig handle. (proc_can_be_signalled): Don't send signals if exit code is set. (sigproc_terminate): Use and set exit_state appropriately to determine when to do anything. Send __SIGEXIT to self to control process exit. (sig_send): Use my_sendsig for sending signals. Don't call proc_can_be_signalled for myself since the criteria is now different for sending signals to myself. (wait_sig): Copy myself->sendsig to my_sendsig for future use. Exit signal loop when __SIGEXIT is received. Wait for main thread to exit and use its exit status to actually exit process. * sigproc.h (__SIGEXIT): New enum. * dcrt0.cc (alloc_stack): Eliminate superfluous "return;". * debug.cc (add_handle): Ditto. * devices.in (device::parse): Ditto. * dtable.cc (dtable::vfork_parent_restore): Ditto. (dtable::vfork_child_fixup): Ditto. * environ.cc (parse_options): Ditto. * errno.cc (seterrno_from_win_error): Ditto. * exceptions.cc (sig_handle_tty_stop): Ditto. (set_signal_mask): Ditto. * fhandler.cc (fhandler_base::read): Ditto. (fhandler_base::operator delete): Ditto. (fhandler_base::seekdir): Ditto. (fhandler_base::rewinddir): Ditto. * fhandler_console.cc (fhandler_console::read): Ditto. (fhandler_console::fixup_after_exec): Ditto. * sigproc.cc (sigproc_init): Ditto. (sigproc_terminate): Ditto. * devices.cc: Regenerate.
2005-09-13* sigproc.cc (wait_sig): Be more defensive about detecting when we're exiting.Christopher Faylor2-1/+6
2005-09-12* cygthread.cc (cygthread::cygthread): Add more info to fatal error.Christopher Faylor4-2/+12
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Temporarily remove insertion of /dev into root directory. * path.cc (path_conv::check): Ditto.
2005-09-12* heap.cc (heap_init): Allocate heap from top down as a hedge againstChristopher Faylor2-1/+7
subsequent ERROR_INVALID_ADDRESS in forked processes when CTRL-C is pressed.
2005-09-10.Christopher Faylor1-1/+2
2005-09-10* heap.cc (heap_init): Be slightly more aggressive when trying to allocateChristopher Faylor3-19/+38
heap. Change fatal error to avoid confusion with cygheap. * spawn.cc (linebuf::finish): New function. (linebuf::add): Cosmetic change. (spawn_guts): Only avoid building windows command line if the program being executed was actually mounted with -X. Don't return E2BIG if we hit the 32K size and we're executing a detected cygwin program. Just silently truncate the windows command line, instead.
2005-09-09 * arm.h (SHT_ARM_PREEMPTMAP, SHT_ARM_ATTRIBUTES): New defines.Richard Earnshaw2-0/+6
2005-09-09* fhandler_serial.cc (fhandler_serial::tcgetattr): Just zero c_cflag hereChristopher Faylor3-16/+19
rather than clearing CBAUD after the fact.
2005-09-09* fhandler_serial.cc (fhandler_serial::ioctl): Always return 0 for window size.Christopher Faylor3-1/+15
* termios.cc (tcgetattr): Clear out baud part of c_cflag since it is always ignored.
2005-09-082005-09-08 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston26-116/+1181
* Makefile.am: Add include files under bits sub-directory. * Makefile.in: Regenerated. * libc/sys/linux/argp/argp-fs-xinl.c: Set __OPTIMIZE__ to actual value of 1 to be compatible with newer glibc headers. * libc/sys/linux/sys/cdefs.h: Fix to be compatible with newer glibc headers. * libc/sys/linux/sys/dirent.h: Ditto. * libc/sys/linux/argp/argp-xinl.c: Ditto. * libc/sys/linux/dl/dl-runtime.c: Make sure fixup and profile_fixup routines are marked used so they won't be optimized away. * libc/sys/linux/dl/dl-cache.c: Don't use weak_extern macro to mark functions as weak. * libc/sys/linux/dl/dl-open.c: Ditto. * libc/sys/linux/iconv/gconv_open.c: Fix to obey new gcc4 rules about lvalues. * libc/sys/linux/iconv/gconv_simple.c: Ditto. * libc/sys/linux/linuxthreads/bits/libc-lock.h: Don't use weak_extern macro to mark functions as weak. Instead always use #pragma weak. * iconvdata/jis0208.h: Fix to work with gcc4. * libc/sys/linux/dl/dl-load.c: Ditto. * libc/sys/linux/dl/dl-reloc.c: Ditto. * libc/sys/linux/dl/do-rel.h: Ditto. * libc/sys/linux/dl/dynamic-link.h: Ditto. * libc/sys/linux/include/ltdl.h: Ditto. * libc/sys/linux/machine/i386/dl-machine.h: Ditto. * libc/sys/linux/machine/i386/weakalias.h: Ditto. * libc/sys/linux/net/ns_ntoa.c: Ditto. * libc/sys/linux/bits/initspin.h: New file. * libc/sys/linux/bits/libc-lock.h: Ditto. * libc/sys/linux/bits/pthreadtypes.h: Ditto. * libc/sys/linux/bits/typesizes.h: Ditto.
2005-09-082005-09-08 Eric Blake <ebb9@byu.net>Jeff Johnston2-2/+7
* libc/argz/argz_insert.c (argz_insert): Don't die with EINVAL when before is NULL.
2005-09-082005-09-08 Brian Dessent <brian@dessent.net>Jeff Johnston3-2/+9
* sf_lrint.c (lrintf): Mask 'i0' correctly when extracting mantissa. * s_lrint.c: Ditto.
2005-09-08 * exceptions.cc (ctrl_c_handler): Disable any special CTRL_LOGOFF_EVENTCorinna Vinschen2-0/+19
handling and add longish comment about the reasons.
2005-09-08 * include/reason.h [_WIN32_WINNT >= 0x0501]Dimitri Papadopoulos3-1/+53
(SHTDN_REASON_*): New file. * include/objbase.h: Avoid double header guard.
2005-09-08Remove extraneous line.Andreas Schwab1-1/+0
2005-09-08 * regtool.cc: Extend copyright-years.Corinna Vinschen2-7/+19
(print_version): Ditto. (cmd_list): Don't depend on terminating '\0' being present on string-values. (cmd_get): Don't attempt to read more than present, but keep extra space for terminating '\0'. Really output REG_BINARY. Don't leak memory. (cmd_set): Include trailing '\0' in string's length.
2005-09-08* hookapi.cc (rvadelta): Change argument to DWORD to eliminate a compilerChristopher Faylor4-13/+28
warning. * path.h (path_conv::set_cygexec): New function. * spawn.cc (av::iscygwin): Eliminate. (av::av): Don't initialize iscygwin. (spawn_guts): Just use real_path.iscygexec for all tests. (av::fixup): Short circuit test if .exe extension and known cygexec. Set cygexec flag appropriately if we find that program uses cygwin1.dll.
2005-09-07add missing ChangeLog entry.Christopher Faylor1-0/+1
2005-09-07* dcrt0.cc (initial_env): Don't attempt stracing if dynamically loaded.Christopher Faylor6-15/+64
(dll_crt0_0): Move console initialization earlier. * init.cc (dll_entry): Move console initialization here. * exceptions.cc (init_console_handler): Fully remove any old console handler. * spawn.cc (spawn_guts): Don't fill out windows argv if we've deduced that this is a cygwin-using program. (av::fixup): Always check executables to see if they are using cygwin1.dll. Don't consider .com files to be scripts. * hookapi.cc (rvadelta): New function. (PEHeaderFromHModule): Simplify slightly. (hook_or_detect_cygwin): Use passed in name argument for "HMODULE" rather than incorrectly reading current program. Calculate delta needed to read image data and file names if this isn't a real "HMODULE".
2005-09-07 Import from Autoconf sources:Ben Elliston2-27/+25
2005-09-06 Paul Eggert <eggert@cs.ucla.edu> * move-if-change: Don't output "$2 is unchanged"; suggested by Ben Elliston. Handle weird characters correctly.
2005-09-06 * thread.h: Revert patch from 2005-09-05.Corinna Vinschen3-8/+21
* thread.cc (pthread_mutex::can_be_unlocked): Return true also if mutex is owned by MUTEX_OWNER_ANONYMOUS.
2005-09-06* mips.h (OP_SH_MT_U, OP_MASK_MT_U, OP_SH_MT_H, OP_MASK_MT_H,Chao-ying Fu2-4/+36
OP_SH_MTACC_T, OP_MASK_MTACC_T, OP_SH_MTACC_D, OP_MASK_MTACC_D): New define. Document !, $, *, &, g, +t, +T operand formats for MT instructions. (INSN_ASE_MASK): Update to include INSN_MT. (INSN_MT): New define for MT ASE.
2005-09-05* cygheap.cc (cygheap_init): Eliminate debugging #if.Christopher Faylor5-15/+26
* fork.cc (fork_parent): Don't issue errors if "somebody" has set the PID_EXITED flag on a child. Don't close process handle if it has potentially already been closed. * pinfo.cc (winpids::add): Eliminate PID_ALLPIDS handling which was obsoleted by previous changes. * spawn.cc (av::fixup): Do win16 detection for .com files. Make sure that buffer has been unmapped in all cases.
2005-09-05 * thread.h (pthread_mutex::get_pthread_self): Remove.Corinna Vinschen2-10/+12
(pthread_mutex::lock): Use ::pthread_self as self parameter. (pthread_mutex::trylock): Ditto. (pthread_mutex::unlock): Ditto. (pthread_mutex::destroy): Ditto.
2005-09-02Grr. REVERT erroneous checkin. AGAIN.Christopher Faylor9-34/+20