| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
newlib doesn't install cleanup handlers. Explain the problem.
(class __cygwin_lock_handler): New class.
(__cygwin_lock_cleanup): New function.
(__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup
handler.
(__cygwin_lock_trylock): Ditto.
(__cygwin_lock_unlock): Pop thread cleanup handler.
(pthread::pop_cleanup_handler): Temporarily allow cleanup function to
destroy cleanup handler so we can pop in another function than we
pushed in.
|
|
|
|
| |
if the thread is not executing Cygwin or Windows code. Explain why.
|
|
|
|
| |
Explain why.
|
|
|
|
|
|
| |
to PTHREAD_CANCEL_DISABLE from here...
(pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit
call to pthread_cleanup_pop disables cancellation for this thread.
|
|
|
|
|
| |
* winbase.h (ilockadd): New function.
(InterlockedAdd): Define as ilockadd.
|
|
|
|
|
|
|
|
| |
* devices.cc: Regenerate.
* dtable.cc (fh_alloc): Don't forget FH_KMEM.
* fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather
than ENOENT on systems not granting access to physical memory from
user space.
|
|
|
|
| |
PTHREAD_CANCEL_ASYNCHRONOUS case, too. Explain why.
|
|
|
|
|
| |
* heap.cc (heap_init_info): ...to here. Explain why. Print heap
size in hex and decimal.
|
| |
|
|
|
|
|
|
| |
to explain why.
(cygwin_recv): Ditto.
(cygwin_recvmsg): Ditto.
|
|
|
|
| |
Samba versions >= 3.5.4 into account, add comments.
|
|
|
|
|
|
| |
* smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as characters.
Don't decode them if they are > 127.
(__small_vswprintf): Ditto.
|
|
|
|
|
| |
* fhandler_tty.cc (bytes_available): Simplify by returning the number of bytes
available in the message unless that is zero.
|
| |
|
|
|
|
|
|
|
|
|
| |
* child_info.h (child_info_spawn::parent_winpid): Declare new field.
(child_info_spawn::get_parent_handle): Declare new function.
* dcrt0.cc (child_info_spawn::get_parent_handle): Define new function.
(child_info_spawn::handle_spawn): Recreate parent handle if possible when
dynamically loaded. Don't mess with parent handle if it's NULL.
* spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
|
|
|
|
|
| |
* thread.cc (pthread::pop_cleanup_handler): Set cancel state to disabled to
avoid recursively waiting for cancel.
|
|
|
|
|
|
|
| |
* fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T use.
* pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits when
checking for PIPE_ADD_PID. Properly keep track of len so that passed in name
is not overwritten.
|
| |
|
|
|
|
|
| |
* posix.sgml (std-gnu): Add memrchr.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* pinfo.cc (pinfo::init): Reuse shared memory if the state is marked with
PID_REAPED.
* spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo into
non-cygwin child.
* fork.cc (frok::parent): Improve error output.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cygheap.h (init_cygheap::pid_handle): Delete.
* dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we have
execed.
* pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations.
(pinfo::init): Don't consider a reaped process to be available.
* spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations. Make
wr_proc_pipe and parent noninheritable when starting a program which doesn't
use the Cygwin DLL. Conditionally reset wr_proc_pipe to inheritable if
CreateProcess fails. Inject wr_proc_pipe handle into non-Cygwin process.
Consider a non-cygwin process to be 'synced'.
|
| |
|
|
|
|
|
|
| |
* fhandler_tty.cc (bytes_available): Revert to previous Oct-2011 behavior where
a dummy buffer is used to determine how many bytes will be read.
(fhandler_pty_master::ioctl): Correct coercion in assignment.
|
|
|
|
|
|
|
|
|
| |
systems. Change comment acordingly.
* wincap.h (wincaps::has_gaa_largeaddress_bug): New element.
* wincap.cc: Implement above element throughout.
(wincap_8): New globale wincaps to support Windows 8.
(wincapc::init): Take Windows 8 into account. Set new
has_gaa_largeaddress_bug member to false on 32 bit systems.
|
| |
|
| |
|
|
|
|
|
|
| |
* sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if we've
execed since the execed process is still considered the parent.
* child_info.h: Bump copyright.
|
|
|
|
| |
(fesetprec): Ditto.
|
|
|
|
|
|
|
| |
* pipe.cc (fhandler_pipe::create): Don't indiscriminately add process id to
every pipe since some pipe names (fifo, tty) don't need it.
* sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create to
ensure that pid is always part of sigwait pipe name.
|
|
|
|
|
|
|
|
|
| |
* globals.cc (pipe_byte): Declare.
* pipe.cc (fhandler_pipe::create): Use current process id in pipe name rather
than pid for simple name collision avoidance. Do this only once to avoid extra
overhead when a busy pipe is found. Honor pipe_byte to create non-message
pipes if set.
* sigproc.cc (sigproc_init): Use a specific name for the signal pipe.
|
| |
|
| |
|
|
|
|
|
|
| |
* fhandler_console.cc (fhandler_console::read): Implement extended
mouse mode 1005 (xterm, mintty).
Fix actual mouse reporting for large coordinates.
|
| |
|
|
|
|
|
|
|
| |
(CTRL_PRESSED): Ditto.
(fhandler_console::read): Simplify expressions testing for pressed ALT
or CTRL modifier keys.
(get_nonascii_key): Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ext_mouse_mode15.
* fhandler_console.cc (fhandler_console::read): Implement extended
mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm). Recognize,
but don't implement extended mouse mode 1005 (xterm, mintty).
Support mouse coordinates greater than 222 (each axis). Fix formatting.
(fhandler_console::char_command): Initialize enhanced mouse reporting
modes.
|
| |
|
|
|
|
|
|
| |
* path.cc (path_conv::check): Remove PATH_KEPT_HANDLE setting.
* path.h (path_types): Remove PATH_KEPT_HANDLE.
(path_conv::kept_handle): Delete now-unneeded function.
|
|
|
|
|
|
|
| |
on-disk device and we were stating it.
* path.cc (path_conv::check): Set PATH_KEPT_HANDLE.
* path.h (path_types): Add PATH_KEPT_HANDLE.
(path_conv::kept_handle): Implement.
|
|
|
|
|
|
|
|
|
|
| |
* dtable.cc (dtable::fixup_after_exec): Specifically reject releasing
nohandle() type fhandlers rather than relying on contents of io_handle.
(dtable::fixup_after_fork): Ditto.
* fhandler_termios.cc: Add includes necessary for definitions of have_execed
and have_execed_cygwin.
(fhandler_termios::sigflush): Don't flush console input when we've started a
non-Cygwin process.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* devices.in (exists_console): Use fhandler_console::exists () rather than raw
test.
* devices.cc: Regenerate.
* fhandler.h (fhandler_console::exists): Define new function.
* fhandler_console.cc (fhandler_console::need_invisible): Use
fhandler_console::exists () rather than raw test.
* spawn.cc: Rename assitant to assistant throughout.
(child_info_spawn::worker): Simplify test for when to start a non-Cygwin
process in its own process group. Just do it whenever we start a non-Cygwin
process.
|
| |
|
|
|
|
|
|
| |
they exist.
* devices.cc: Regenerate.
* fhandler_console.cc (fhandler_console::set_unit): Ditto.
|
|
|
|
| |
non-device files in virtual fileysystems.
|
|
|
|
|
|
|
| |
build_fh_*.
(dtable::init_std_file_from_handle): Ditto.
* mmap.cc (mmap_record::alloc_fh): Ditto.
* path.cc (path_conv::check): Ditto.
|