summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * dtable.cc (dtable::fixup_close): Define new function.Christopher Faylor2012-04-014-14/+47
| | | | | | | | | | | (dtable::fixup_after_exec): Use fixup_close() and detect when it was not possible to open an inherited file handle. (dtable::fixup_after_fork): Defensively close any file handles which were not, for some reason, inheritable. * dtable.h: Make #pragma once. (dtable::fixup_close): Declare new function. * fhandler_console.cc (fhandler_console::set_unit): Set I/O handles to NULL when this function fails.
* * fhandler_dev.cc (fhandler_dev::readdir): Fix formatting. SimplifyCorinna Vinschen2012-04-012-41/+25
| | | | | code. Use device::type() to fetch dirent compatible device type. Add comment.
* * devices.h (device::exists_func): Redefine field.Christopher Faylor2012-04-016-8387/+7578
| | | | | | | | | | | | (device::dev_on_fs): Remove unneeded bit field. Just make a normal boolean. (device::exists): Redefine function. * devices.in: Move previous functions earlier since they are now only defined static. Rename some functions due to an as-yet unresolved bug in gendevices. Rename posix part of internal-only devices with a double-slash. gendevices will eventuall translate that to a ":". (device::parse): Rework to use dev pointer and dev_storage_end. * devices.cc: Regenerate. * gendevices: Translate "// to ": after shilka processing.
* * devices.cc: Regenerate.Corinna Vinschen2012-03-316-2740/+2842
| | | | | | | | | | | | | | | | | | | | | | | | | * devices.h (device::exists_func): New member function pointer, replacing noexpose. (device::expose): Remove. (device::exists_never): Declare. (device::exists_ptys): Declare. (device::exists_cons): Declare. (device::exists_console): Declare. (device::exists_nt_dev): Declare. (device::exists): Declare. * devices.in (dev_storage): Replace former noexpose values with pointers to matching exists_XXX method. (device::exists_never): New method. (device::exists_ptys): New method. (device::exists_cons): New method. (device::exists_console): New method. (device::exists_nt_dev): New method. (device::exists): New method. * fhandler_dev.cc (fhandler_dev::readdir): Replace call to device::expose with call to device::exists and drop all further existence filtering since it's done in device::exists now. * path.cc (path_conv::check): Replace call to device::expose with call to device::exists.
* update copyrightChristopher Faylor2012-03-311-1/+1
|
* (Interim checkin while we work on this)Christopher Faylor2012-03-319-285/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * devices.cc: Regenerate. * devices.h (device::noexpose): New field. (device::dev_on_fs): Make a bit field. (get_major): Use proper type for declaration. (expose): New field. (ext_dev_storage): Delete declaration. (dev_storage_size): Ditto. (dev_storage): New declaration. (dev_storage_end): Ditto. * devices.in: Mark /dev/ptym*, /dev/com*, /dev/pipe, /dev/fifo, and "/dev" as "no expose". * fhandler.h (fhandler_dev::lastrealpos): Delete declaration. (fhandler_dev::devidx): Declare new field. * fhandler_disk_file.cc: Move fhandler_dev functions into fhandler_dev.cc. * fhandler_dev.cc: Add includes needed for functions moved from fhandler_disk_file.cc. (dev_storage_scan_start): Define place to start listing devices. (dev_storage_size): Define size of array to scan. (fhandler_dev::fhandler_dev): Move here from fhandler_disk_file.cc. (fhandler_dev::opendir): Ditto. (fhandler_dev::readdir): Just check devidx for non-NULL to determine when to go to disk for /dev content. Use dev_storage rather than ext_dev_storage. Iterate over dev_storage using devidx pointer. Use accessor functions rather than raw references to the device struct. Only increment dir->__d_position when we are actually going to be returning something. Add debug_printf for exit. (fhandler_dev::rewinddir): Set devidx as appropriate depending on whether there's a /dev on disk or not. * gendevices: Don't mark dev_storage static but do put it in the _RDATA section. * path.cc (path_conv::check): Use new "device::expose()" function to decide to forbid programs from referencing internal device types.
* Fix typoCorinna Vinschen2012-03-302-1/+5
|
* *** empty log message ***Corinna Vinschen2012-03-301-1/+1
|
* * cygwinenv.sgml (cygwinenv-implemented-options): Add detect_bloda.Corinna Vinschen2012-03-304-2/+40
| | | | | | | * new-features.sgml (ov-new1.7.12): Add list items for the change to flock and the detect_bloda CYGWIN option. * overview2.sgml (ov-hi-process-problems): Add a reference to the detect_bloda CYGWIN option.
* * posix.sgml (std-notes): Change description of flock restrictions.Corinna Vinschen2012-03-303-4/+23
|
* * devices.h (DEV_TTY_MAJOR): Define, use throughout where appropriate.Corinna Vinschen2012-03-303-37/+96
| | | | | | | (DEV_VIRTFS_MAJOR): Ditto. * fhandler_dev.cc (fhandler_dev::readdir): Add comments. Tweak tests for invisible devices. Don't print comX devices, only ttySX. Drop requirement to call stat64.
* * libc/locale/locale.c (__mb_cur_max): On Cygwin, align default valueCorinna Vinschen2012-03-292-0/+9
| | | | with default UTF-8 charset.
* *** empty log message ***Corinna Vinschen2012-03-291-0/+7
|
* * new-features.sgml (ov-new1.7.12): Create. Move mountinfo here.Corinna Vinschen2012-03-293-15/+41
| | | | | | Add /dev notice. * pathnames.sgml (pathnames-posixdevices): Rephrase to account for /dev change in 1.7.12.
* * Makefile.in (DLL_OFILES): Add fhandler_dev.o.Corinna Vinschen2012-03-2912-37/+325
| | | | | | | | | | | | | | | | | | | | | | | * devices.h (DEV_DEV_MAJOR): Define. (FH_DEV): Redefine in terms of DEV_DEV_MAJOR. (ext_dev_storage): Declare. (dev_storage_size): Declare. (dev_dev_storage): Declare. (dev_dev): Define. (isdev_dev): Define. * devices.in (dev_dev_storage): Activate. (ext_dev_storage): Define as externally available pointer to dev_storage. (dev_storage_size): Define to contain number of dev_storage elements. * dir.cc (rmdir): Handle /dev as always not empty. * dtable.cc (fh_alloc): Handle DEV_DEV_MAJOR. * fhandler.h (fhandler_dev): New class, derived from fhandler_disk_file. (fhandler_union): Add fhandler_dev member. * fhandler_disk_file.cc (class __DIR_mounts): Handle /dev directory to make sure it always exists. * fhandler_dev.cc: New file implementing /dev. * globals.cc (ro_u_dev): New R/O unicode string. * path.cc (path_conv::check): Handle FH_DEV device.
* * fhandler_console.cc (fhandler_console::set_unit): Don't succeed unless we areChristopher Faylor2012-03-292-2/+13
| | | | opening a console actually associated with this process.
* * sec_acl.cc (acl32): Fix potnetial crash if build_fh_name returns NULL.Corinna Vinschen2012-03-292-4/+8
|
* * exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've execed aChristopher Faylor2012-03-292-2/+9
| | | | non-cygwin process. Let the Windows process deal with it itself.
* * sigproc.cc (proc_terminate): Avoid releasing myself.Christopher Faylor2012-03-282-1/+6
|
* * times.cc (clock_setres): Set minperiod to period.Corinna Vinschen2012-03-282-1/+5
|
* Fix copyright.Corinna Vinschen2012-03-271-1/+1
|
* * fhandler_process.cc (process_tab): Add entry for mountinfo.Corinna Vinschen2012-03-274-9/+77
| | | | | | | | | | | | | | (format_process_mountstuff): New function, derived from format_process_mounts. Only open another user's user_info shared memory area if the process is owned by another user. Actually access the opened shared user_info to get the right mount table. For other users, don't print remote cygdrive mount points. Print mountinfo or mounts output depending on the bool mountinfo argument. (format_process_mounts): Just call format_process_mountstuff with mountinfo set to false. (format_process_mountinfo): Ditto with mountinfo set to true. * new-features.sgml (ov-new1.7.11): Add mountinfo.
* * times.cc (clock_setres): Revert previous change.Corinna Vinschen2012-03-272-4/+5
|
* * fhandler.h (class fhandler_dev_clipboard): Add fstat method.Corinna Vinschen2012-03-263-14/+72
| | | | | | | | | * fhandler_clipboard.cc (cygcb_t): New type for Cygwin-specific clipboard format. (set_clipboard): Use new clipboard format to allow setting a timestamp. (fhandler_dev_clipboard::fstat): New method. Read modification and access timestamp as well as length from clipboard data. (fhandler_dev_clipboard::read): Use new clipboard format.
* * libc/stdio/findfp.c (__sinit): Set __sdidinit last.Corinna Vinschen2012-03-262-1/+6
|
* * hires.h (hires_ms::dmsecs): Drop unused method.Corinna Vinschen2012-03-263-27/+26
| | | | | | | | | | * times.cc (JITTER): Remove. (gtod): Revert to process-local variable. (hires_ms::nsecs): Just return system time to disallow discrepancy with the OS. (hires_ms::resolution): Return coarsest timer value from OS. Add comment to explain why. (clock_setres): Ditto.
* libgloss: cris: respect DESTDIR when installingMichael Frysinger2012-03-242-1/+5
|
* * child_info.h: Reset magic number.Christopher Faylor2012-03-212-1/+5
|
* * child_info.h (child_info::postfork): Define new function.Christopher Faylor2012-03-216-12/+28
| | | | | | | | | | | | * fork.cc (frok::parent): Call postfork to do all of the manipulation required prior to calling pinfo::remember. * pinfo.h (pinfo::set_rd_proc_pipe): Just set pinfo's rd_proc_pipe. Don't bother setting it to NULL. * sigproc.cc (child_info_spawn::wait_for_myself): Call postfork to set up myself for waiting. * spawn.cc (child_info_spawn::worker): Avoid now-unnecessary global lock. Consistently test mode rather than chtype when making wr_proc_pipe decisions. Call postfork() to set up stuff prior to pinfo::remember.
* * cygtls.cc (well_known_dlls): Add advapi32.dll.Corinna Vinschen2012-03-212-0/+5
|
* * child_info.h: Reset magic number.Christopher Faylor2012-03-215-14/+31
| | | | | | | | | | | (child_info_spawn::wait_for_myself): Move function to sigproc.cc. * pinfo.cc (is_toplevel_proc): Delete unneeded variable. * sigproc.cc (child_info_spawn::wait_for_myself): Move function from header to here. Do all setup required to properly wait for top-level execed process to exit. * spawn.cc (child_info_spawn::worker): Attempt to properly handle _P_DETACH. Set wr_proc_pipe if top-level process even when execing. Just call wait_for_myself() to... wait for myself. Don't call cleanup twice.
* * pinfo.cc (proc_waiter): Remove debugging.Christopher Faylor2012-03-212-1/+4
|
* * dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is closed.Christopher Faylor2012-03-204-14/+25
| | | | | | (dtable::release): "Close" standard handle if appropriate. * dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem. * fork.cc (frok::parent): Make minor comment indentation change.
* * syscalls.cc (lseek): Fix debug output.Corinna Vinschen2012-03-202-1/+8
|
* * ntdll.h (SharedUserData): Add volatile qualifier. This fixes aCorinna Vinschen2012-03-203-6/+17
| | | | possible infinite loop in hires_ms::timeGetTime_ns.
* * child_info.h (CURR_CHILD_INFO_MAGIC): Reset.Christopher Faylor2012-03-209-111/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (child_info::rd_proc_pipe): Declare new field. (child_info::wr_proc_pipe): Ditto. (child_info::prefork): Declare new function, derived from previous pinfo version. * dcrt0.cc (child_info_fork::handle_fork): Close previous wr_proc_pipe when appropriate and assign new one from passed-in child_info block. (child_info_spawn::handle_spawn): Assign our wr_proc_pipe handle from passed-in child_info block. * fork.cc (child_info::prefork): Define new function. (frok::child): Clear rd_proc_pipe and wr_proc_pipe so they will not be closed by the child_info destructor. (frok::parent): Use child_info prefork handling, outside of retry loop. Set rd_proc_pipe in child's pinfo after successful CreateProcess. Eliminate postfork call. * globals.cc (my_wr_proc_pipe): Define/declare new variable. * pinfo.cc (pinfo::pending_rd_proc_pipe): Delete. (pinfo::pending_wr_proc_pipe): Ditto. (pinfo::prefork): Ditto. (pinfo::postfork): Ditto. (pinfo::postexec): Ditto. (pinfo::wait): Assume that rd_proc_pipe is set up correctly prior to call. (_pinfo::alert_parent): Replace "wr_proc_pipe" with "my_wr_proc_pipe". * pinfo.h (_pinfo::_wr_proc_pipe): Delete declaration. (_pinfo::set_rd_proc_pipe): Define new function. (pinfo::pending_rd_proc_pipe): Delete declaration. (pinfo::pending_wr_proc_pipe): Ditto. (pinfo::prefork): Ditto. (pinfo::postfork): Ditto. (pinfo::postexec): Ditto. (pinfo::wr_proc_pipe): Ditto. * sigproc.cc (child_info::child_info): Clear rd_proc_pipe and wr_proc_pipe. (child_info::cleanup): Close rd_proc_pipe and wr_proc_pipe if necessary. (child_info_fork::child_info_fork): Set forker_finished to NULL by default. (child_info_spawn::child_info_spawn): Use my_wr_proc_pipe rather than myself->wr_proc_pipe. (child_info::sync): Ditto. (child_info_spawn::cleanup): Call child_info::cleanup. * spawn.cc (child_info_spawn::worker): Remove call to myself.prefork(). Set wr_proc_pipe when execing or set up new rd_proc_pipe/wr_proc_pipe via child_info::prefork when spawning. Remove call to pinfo::postexec. Set rd_proc_pipe in child pinfo when spawning. Use my_wr_proc_pipe rather than myself->wr_proc_pipe. Remove call to postfork.
* * pinfo.cc (pinfo_init): Cosmetic change: unset "destroy" for myself.Christopher Faylor2012-03-203-8/+28
| | | | | | | | | (pinfo::wait): Change some comments. (pinfo::prefork): Move a comment. (pinfo::postfork): Set pending_*_pipe variables to NULL if closed. (pinfo::postexec): Use right name when closing handle. (_pinfo::alert_parent): Ditto. * sigproc.h (hold_everything): Remove debugging label.
* 2012-03-19 Ben Greear <greear@users.sf.net>Chris Sutcliffe2012-03-202-4/+9
| | | | | * include/routprot.h (IP_LOCAL_BINDING): Move above IP_ADAPTER_BINDING_INFO to correct warning about IP_LOCAL_BINDING being undefined.
* * client.cc: Revert sigproc.h inclusion since it was fixed elsewhere.Christopher Faylor2012-03-192-4/+4
|
* * cygserver_ipc.h: Include sigproc.h for signal_arrived declaration.Christopher Faylor2012-03-192-1/+6
|
* * client.cc: Include sigproc.h if __INSIDE_CYGWIN__ is defined.Corinna Vinschen2012-03-192-0/+8
|
* * cygprops.h: Use #pragma once.Christopher Faylor2012-03-195-22/+33
| | | | | | | * mkglobals_h: Ditto for generated globals.h file. * globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of globals.h. * winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h. Make clear_procimptoken extern inline so that it is only defined when needed.
* * client.cc: Remove unneeded #include "sigproc.h".Christopher Faylor2012-03-192-2/+4
|
* * thread.cc (cancelable_wait): Don't malloc tbi, just make it a structCorinna Vinschen2012-03-192-5/+9
| | | | on the stack to avoid memory leak.
* * pinfo.cc (pinfo::wait): Handle case where prefork was not called prior toChristopher Faylor2012-03-192-5/+14
| | | | | calling wait(). This is the case when we are reabsorbing processes after being execed.
* * fork.cc (lock_signals): Move to sigproc.h.Christopher Faylor2012-03-167-169/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lock_pthread): Ditto. (hold_everything): Ditto. (frok::parent): Call myself.prefork() just before calling CreateProcess. Call myself.postfork () on function exit. * pinfo.cc (pinfo::pending_rd_proc_pipe): Define. (pinfo::pending_wr_proc_pipe): Ditto. (_pinfo::dup_proc_pipe): Delete. (pinfo::wait): Move pipe creation into pinfo::prefork. Set pipe variables from pending_*. (_pinfo::sync_proc_pipe): Delete. (_pinfo::proc_pipe_owner): Ditto. (pinfo::prefork): Define new function. (pinfo::postfork): Ditto. (pinfo::postexec): Ditto. (_pinfo::alert_parent): Remove obsolete call to sync_proc_pipe. (_pinfo::dup_proc_pipe): Delete declaration. (_pinfo::sync_proc_pipe): Ditto. (pinfo::pending_rd_proc_pipe): Declare. (pinfo::pending_wr_proc_pipe): Ditto. (pinfo::prefork): Declare new function. (pinfo::postfork): Ditto. (pinfo::postexec): Ditto. (pinfo::wr_proc_pipe): Define new wrapper function. * sigproc.h: Include "sync.h". Move locking functions from fork to here. * spawn.cc (child_info_spawn::worker): Delete now-unneeded requirement to record orig_wr_proc_pipe. Call hold_everything prior to doing anything. Call myself.prefork() if spawning. Replace wr_proc_pipe synchronization with call to myself.postexec(). Call myself.postfork() if not execing. * sync.h: Replace #ifdef wrapper with "#pragma once".
* * configure.ac (enable_libgomp): Remove *-*-irix6*.Rainer Orth2012-03-153-42/+12
| | | | | | | (unsupported_languages): Remove mips-sgi-irix6.*. (noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*. (with_stabs): Remove. * configure: Regenerate.
* * configure.ac (enable_libgomp): Remove *-*-osf*.Rainer Orth2012-03-153-4/+10
| | | | | (with_stabs): Remove alpha*-*-osf*. * configure: Regenerate.
* include/Alan Modra2012-03-152-1/+6
| | | | | | | | | | | | | | | * dis-asm.h (disassemble_init_powerpc): Declare. opcodes/ * disassemble.c (disassemble_init_for_target): Handle ppc init. * ppc-dis.c (private): New var. (powerpc_init_dialect): Don't return calloc failure, instead use private. (PPC_OPCD_SEGS, PPC_OP_TO_SEG): Define. (powerpc_opcd_indices): New array. (disassemble_init_powerpc): New function. (print_insn_big_powerpc): Don't init dialect here. (print_insn_little_powerpc): Likewise. (print_insn_powerpc): Start search using powerpc_opcd_indices.
* * hookapi.cc (hook_or_detect_cygwin): Change condition when to useCorinna Vinschen2012-03-132-11/+19
| | | | | importRVAMaxSize or importRVASize for the mapping size. Make sure to map never more than the section size. Change comments accordingly.