| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
on the stack to avoid memory leak.
|
|
|
|
|
| |
calling wait(). This is the case when we are reabsorbing processes after being
execed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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".
|
|
|
|
|
| |
importRVAMaxSize or importRVASize for the mapping size. Make sure
to map never more than the section size. Change comments accordingly.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* fhandler.h (wait_return): Add overlapped_nullread.
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Detect zero-byte
read as a special case.
(fhandler_base_overlapped::raw_read): Keep looping when zero-byte read detected
without EOF.
(fhandler_base_overlapped::raw_write): Quiet gcc warning by adding
overlapped_nullread to switch statement even though it will never actually be
hit.
|
|
|
|
|
| |
* fhandler_console.cc (fhandler_console::set_unit): Use lock always to avoid
races between competing cygwin processes running on the console.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
size from start of import RVA table to end of section.
(find_first_notloaded_dll): Take big executables into account. Use
offset and size computation as in hook_or_detect_cygwin, just simpler.
(hook_or_detect_cygwin): Return NULL rather than false througout.
Change computation of required mapping size to take non-gcc compilers
into account. Explain the differences and what we do against them.
Don't alloca buf if fn is NULL. Never use buf if fn is NULL.
Fix name and address in previous ChangeLog entry.
|
|
|
|
|
| |
(get_adapters_addresses): Call call_gaa. If necessary, call it as
child thread. Explain why that's necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
failing condition.
(pinfo::wait): Pass name of function to dup_proc_pipe. Eliminate error check
for dup_proc_pipe since it never actually returned an error.
* pinfo.h (_pinfo::dup_proc_pipe): Add an argument.
* spawn.cc (child_info_spawn::worker): Pass name of function to dup_proc_pipe.
|
| |
|
|
|
|
| |
output.
|
|
|
|
| |
* dcrt0.cc (dll_crt0_0): ...to here.
|
|
|
|
|
|
|
|
|
|
| |
(class fcwd_access_t): Ditto. Only declare methods.
(class cwdstuff): Move fast_cwd_ptr and fast_cwd_version from shared
DLL section here.
* path.cc: Keep fcwd_access_t method definitions.
(fcwd_access_t::fast_cwd_version): New method.
(find_fast_cwd_pointer): Change comment. Mention test on W8CP.
(cwdstuff::init): Initialize fast_cwd_ptr and fast_cwd_version.
|
|
|
|
| |
explain previous patch.
|
|
|
|
|
|
|
|
|
|
| |
Explain why. Add code to check if a DLL with the same basename but
different path is the same DLL. Bail out if not.
(in_load_after_fork): New static NO_COPY bool to allow to differ
between linked and loaded DLL at fork.
(dll_list::load_after_fork): Set in_load_after_fork accordingly.
(dll_dllcrt0_1): Don't treat DLL as linked if in_load_after_fork is set.
Drop test for in_forkee.
|
|
|
|
|
|
|
| |
(dll_list::operator[]): Add long comment to explain the misery.
(dll_list::alloc): Skip long pathname prefix potentially returned by
GetModuleFileNameW.
* dll_init.h (dll_list::find_by_modname): Add back declaration.
|
| |
|
|
|
|
|
|
|
|
|
| |
specifically called setsid.
* fhandler_tty.cc (fhandler_pty_slave::dup): Ditto. Also add comment
documenting research into rxvt problem.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Don't check specifically
for myself->ctty == -1. Test for > 0 as that is the correct test.
(fhandler_termios::sigflush): Ditto.
|
|
|
|
|
| |
check for DACL presence first, since otherwise dacl pointer value is
undefined. Add comment.
|
|
|
|
|
| |
rather than accessing the SECURITY_DESCRIPTOR structure directly.
Take no DACL and NULL DACL into account.
|
| |
|
|
|
|
|
|
|
| |
prevois patch.
(fhandler_console::open_setup): Install Ctrl-C handler here, if this
console is the controlling tty and the process hasn't been started by
a Cygwin process.
|
|
|
|
|
| |
state of the Ctrl-C handler depending on the setting of
ENABLE_PROCESSED_INPUT.
|
|
|
|
|
|
|
| |
information about Tcl/Tk.
(faq.programming.dll-relocatable): Ditto.
* faq-using.xml (faq.using.tcl-tk): Rewrite to reflect switch to
X11 Tcl/Tk.
|
|
|
|
|
|
|
|
| |
* include/sys/termios.h (tcgetsid): Fix return type.
* termios.cc (tcgetsid): Likewise.
* fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise.
* fhandler.h (fhandler_base): Likewise.
* fhandler.cc (fhandler_base::tcgetsid): Likewise.
|
| |
|
| |
|
|
|
|
|
|
| |
(well_known_dlls): New array containing well-known DLLs.
(_cygtls::call2): Add code for BLODA detection.
* net.cc (fdsock): Ditto.
|
| |
|
|
|
|
|
|
|
|
|
| |
to avoid future problems.
(struct parse_thing): Change all justset to setbool for bool variables.
(parse_options): Add a case for setbool setting for bool variables
since justset (now setdword) always writes a DWORD value, thus
potentially overwriting adjacent memory locations.
* external.cc (cygwin_internal): Drop extern declaration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(ignore_case_with_glob): Ditto.
(allow_winsymlinks): Ditto.
(reset_com): Move definition to globals.cc.
(struct parse_thing): Add "detect_bloda" option.
* fhandler_serial.cc (fhandler_serial::open): Drop (incorrect)
declaration of reset_com.
* globals.cc (ignore_case_with_glob): Move definition into C++-only
block.
(dos_file_warning): Define.
(allow_winsymlinks): Define.
(reset_com): Define.
(detect_bloda): Define.
* path.cc (dos_file_warning): Drop definition here.
(allow_winsymlinks): Drop definition here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(LOCK_DIR_NAME_LEN): Define.
(LOCK_DIR_NAME_DEV_OFF): Define.
(LOCK_DIR_NAME_INO_OFF): Define.
(LOCK_OBJ_NAME_FMT): Define. Add comment.
(class lockf_t): Use bitsize-explicit types. Declare from_obj_name,
(class inode_t): Make use, unuse and inuse methods public. Add a
lock argument to get method declaration.
(inode_t::get): Add lock argument. Only lock node if lock arg is true.
(inode_t::inode_t): Use LOCK_DIR_NAME_FMT as format string.
(lockf_t::from_obj_name): New method to generate lockf_t content from
lock event object basename.
(inode_t::get_all_locks_list): Just call from_obj_name here and copy
result into final lockf_t.
(create_lock_obj_attr): Use LOCK_OBJ_NAME_FMT as format string.
(create_lock_in_parent): New thread function to create lockf_t
structure in parent process.
(delete_lock_in_parent): New thread function to reap stale BSD locks in
parent process.
(lockf_t::create_lock_obj): Try to duplicate lock object handle into
parent process and call create_lock_in_parent as parent remote thread.
(lockf_t::del_lock_obj): Call delete_lock_in_parent as parent remote
thread.
(fhandler_disk_file::lock): Add lock arg to inode_t::get call.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
(pldd.exe): Add -lpsapi to ALL_LDFLAGS.
* pldd.c: New file.
* utils.sgml (pldd): New section.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* posix.sgml (std-gnu): Add scandirat.
* syscalls.cc (scandirat): New function.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* include/sys/dirent.h (scandirat): Declare.
|