mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-29 10:30:50 +08:00
722c69734d
Change related casts throughout. (thread_wrapper): Only do the thread change if the application provided the stack. Otherwise, just use the Windows-provided stack. Set up POSIX guardpage here, if necessary. Move related comment from CygwinCreateThread here. (CygwinCreateThread): Never allocate and set up own stack here. Just compute stack size to reserve and use value in CreateThread call if stack hasn't been provided by the application.
395 lines
15 KiB
Plaintext
395 lines
15 KiB
Plaintext
2012-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* miscfuncs.cc (struct thread_wrapper_arg): Convert char * to PBYTE.
|
|
Change related casts throughout.
|
|
(thread_wrapper): Only do the thread change if the application provided
|
|
the stack. Otherwise, just use the Windows-provided stack. Set up
|
|
POSIX guardpage here, if necessary. Move related comment from
|
|
CygwinCreateThread here.
|
|
(CygwinCreateThread): Never allocate and set up own stack here. Just
|
|
compute stack size to reserve and use value in CreateThread call if
|
|
stack hasn't been provided by the application.
|
|
|
|
2012-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Makefile.in (clean): Remove non-existant regexp dir.
|
|
|
|
* collate.h: New header.
|
|
(__collate_range_cmp): Declare.
|
|
(__collate_load_error): Define.
|
|
* glob.cc: Pull in latest version from FreeBSD. Simplify and reduce
|
|
Cygwin-specific changes.
|
|
* regex/regcomp.c: Include collate.h on Cygwin as well.
|
|
(__collate_range_cmp): Move from here...
|
|
* nlsfuncs.cc (__collate_range_cmp): ...to here.
|
|
|
|
* miscfuncs.cc (thread_wrapper): Fix typo in comment.
|
|
(CygwinCreateThread): Take dead zone of Windows stack into account.
|
|
Change the way how the stack is commited and how to handle guardpages.
|
|
Explain how and why.
|
|
* thread.h (PTHREAD_DEFAULT_STACKSIZE): Change definition. Explain why.
|
|
|
|
2012-02-12 Yaakov Selkowitz <yselkowitz@users.sourceforg.net>
|
|
|
|
* include/pthread.h: Include time.h as required by POSIX.
|
|
|
|
2012-02-12 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* exception.h (stackdump): Declare.
|
|
* exceptions.cc (stackdump): Rework to perform all operations needed
|
|
for a stackdump and to avoid recursion.
|
|
(exception::handle): Use simplified stackdump interface.
|
|
* sigproc.cc (signal::exit): Ditto. Delete now, uneeded declaration.
|
|
|
|
2012-02-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* miscfuncs.cc (DEFAULT_STACKSIZE): Remove.
|
|
(CygwinCreateThread): Simplify code by assuming that now stack-related
|
|
input values are undefined. Set stack protection to PAGE_READWRITE,
|
|
as is default on Windows. Add lengthy comment to explain POSIX
|
|
guardpage.
|
|
* thread.cc (pthread_attr::pthread_attr): Initialize stacksize as
|
|
PTHREAD_DEFAULT_STACKSIZE. Initialize guardsize as
|
|
PTHREAD_DEFAULT_GUARDSIZE.
|
|
* thread.h (PTHREAD_DEFAULT_STACKSIZE): Define. Add comment to explain.
|
|
(PTHREAD_DEFAULT_GUARDSIZE): Define.
|
|
|
|
2012-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* miscfuncs.cc (DEFAULT_STACKSIZE): Set to 1 Megs. Drop comment about
|
|
RLIMIT_STACK.
|
|
|
|
* registry.cc (get_registry_hive_path): Expect the user hive path to
|
|
be never longer than MAX_PATH. Don't prepend native NT path prefix
|
|
here. Add comment.
|
|
(load_registry_hive): Prepend native NT path prefix here. Additionally
|
|
try to load user's classes hive.
|
|
* uinfo.cc (cygheap_user::env_userprofile): Reduce size of
|
|
userprofile_env_buf to MAX_PATH. Add comment.
|
|
|
|
2012-02-10 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* syscalls.cc (setsid): On second thought, in the spirit of keeping
|
|
things kludgy, set ctty to -2 here as a special flag, and...
|
|
(open): ...only eschew setting O_NOCTTY when that case is detected.
|
|
|
|
2012-02-10 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* syscalls.cc (open): Semi-revert (?) to allowing open of a tty to
|
|
become controlling tty if there is no controlling tty.
|
|
|
|
2012-02-09 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* exceptions.cc (setup_handler): Reduce system_printf to sigproc_printf
|
|
since it is for a transient situation which will undoubtedly be
|
|
handled.
|
|
|
|
2012-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::write): Set
|
|
bytes_to_write to 0 in case it fits into the buffer, otherwise suffer
|
|
early EOF in caller.
|
|
|
|
2012-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dll_init.h (struct dll): Re-add modname.
|
|
* dll_init.cc: Throughout, use modname where it was used before.
|
|
(dll_list::operator[]): Use modname. Move comment from dll_list::alloc
|
|
here and remove hint about GetModuleBaseNameW.
|
|
(dll_list::alloc): Store full path in name, pointer to basename in
|
|
modname. Search dll using modname.
|
|
|
|
2012-02-08 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Reinstate opening tty
|
|
handles with O_RDWR permissions.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* thread.cc (__pthread_cond_wait_init): New static function replacing
|
|
__pthread_cond_dowait. Only check and potentially initialize cond and
|
|
mutex, drop call to (*cond)->wait.
|
|
(pthread_cond_timedwait): Replace call to __pthread_cond_dowait with
|
|
separate calls to __pthread_cond_wait_init and (*cond)->wait to be
|
|
able to initialize cond before accessing its clock_id member.
|
|
(pthread_cond_wait): Ditto (more or less).
|
|
|
|
2012-02-08 Christian Franke <franke@computer.org>
|
|
|
|
* include/sys/wait.h: Remove C++ inline functions for `union wait'.
|
|
For C++ use `void *' as __wait_status_ptr_t instead. This is less type
|
|
safe but fixes compile error on `wait(NULL)'. Remove extra `;'.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sigproc.cc (child_info_fork::abort): Call TerminateProcess rather
|
|
than ExitProcess.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (cygheap_user::env_userprofile): Simplify since network
|
|
drives are not supported here.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (cygheap_user::env_userprofile): Convert native
|
|
userprofile path returned from get_registry_hive_path to Win32 path.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dll_init.cc: Throughout, drop usage of modname in favor of name.
|
|
(dll_list::find_by_modname): Remove.
|
|
(dll_list::alloc): Only store module basename in name. Add comment to
|
|
explain why. Simplify address check. Fix formatting in comment.
|
|
* dll_init.h (struct dll): Drop modname and find_by_modname.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dll_init.cc (dll_list::alloc): Add DLL name to fabort output. Fix
|
|
fabort string in case of bss start.
|
|
|
|
2012-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/sys/sysmacros.h: Include sys/types.h.
|
|
|
|
2012-02-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (mount_info::create_root_entry): Fix format specifier in
|
|
api_fatal message.
|
|
|
|
2012-02-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/process.h: Move here from include/cygwin subdir.
|
|
* exec.cc: Change include of process.h to reflect the fact that it's
|
|
now back in include.
|
|
* spawn.cc: Ditto.
|
|
* syscalls.cc: Ditto.
|
|
|
|
2012-02-07 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* cygheap.cc (init_cygheap::manage_console_count): Delete.
|
|
* cygheap.h (init_cygheap::manage_console_count): Ditto.
|
|
(init_cygheap::console_count): Ditto.
|
|
* fhandler.h (fhandler_console::has_a): Ditto.
|
|
(fhandler_console::free_console): Declare new function.
|
|
* fhandler_console.cc (fhandler_console::free_console): Define new
|
|
function.
|
|
(fhandler_console::open_setup): Delete call to manage_console_count.
|
|
(fhandler_console::close): Ditto. Replace with call to free_console().
|
|
* fhandler_tty.cc (fhandler_pty_slave::open): Delete call to
|
|
manage_console_count.
|
|
(fhandler_pty_slave::cleanup): Ditto.
|
|
(fhandler_pty_slave::close): Call fhandler_console::free_console() if
|
|
this is our controlling tty.
|
|
* pinfo.cc (_pinfo::set_ctty): Skip function if tty in question == our
|
|
ctty. Delete call to manage_console_count.
|
|
|
|
* syscalls.cc (close_all_files): Avoid locking and avoid setting errno
|
|
when iterating over fds.
|
|
|
|
2012-02-07 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* include/cygwin/version.h: Bump CYGWIN_VERSION_DLL_MINOR to 11.
|
|
|
|
2012-02-03 Václav Zeman <vhaisman@gmail.com>
|
|
|
|
* grp.cc (pwdgrp::parse_group): Convert grp from macro to reference.
|
|
* passwd.cc (pwdgrp::parse_passwd): Ditto for res.
|
|
|
|
2012-02-02 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* syscalls.cc (close_all_files): Use cygheap_fdget to manipulate
|
|
fhandler. Use debug_only_printf.
|
|
|
|
2012-02-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Fix memory and handle leaks due to fdopendir:
|
|
* dir.cc (closedir): Call global close instead of just releasing the
|
|
fhandler.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::closedir): Don't close
|
|
fhandler handle here, rely on global closedir doing the right thing.
|
|
* fhandler_registry.cc (fhandler_registry::readdir): Also delete
|
|
d_hash when closing registry key.
|
|
(fhandler_registry::rewinddir): Ditto.
|
|
|
|
Avoid infinite recursion in VirtualStore under UAC:
|
|
* fhandler_registry.cc (VIRT_CLASSES_KEY_PREFIX): Define.
|
|
(VIRT_CLASSES_KEY_SUFFIX): Ditto.
|
|
(VIRT_CLASSES_KEY): Ditto.
|
|
(VIRT_CLASSES_LINKTGT): Ditto.
|
|
(fhandler_registry::exists): Return virt_symlink as file type if
|
|
this is a Classes key under the VirtualStore.
|
|
(fhandler_registry::fstat): Handle virt_symlink.
|
|
(fhandler_registry::readdir): Return DT_LNK as d_type if this is a
|
|
Classes key under the VirtualStore.
|
|
(fhandler_registry::fill_filebuf): Handle Classes symlink.
|
|
|
|
Handle user impersonation in /proc/registry access:
|
|
* autoload.cc (RegOpenUserClassesRoot): Define.
|
|
(RegOpenCurrentUser): Define.
|
|
* fhandler_registry.cc (RegOpenUserClassesRoot): Declare function
|
|
missing in w32api.
|
|
(RegOpenCurrentUser): Ditto.
|
|
(fetch_hkey): New function.
|
|
(fhandler_registry::open): Call fetch_hkey to get root registry key.
|
|
(open_key): Ditto.
|
|
|
|
2012-02-01 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* fcntl.cc (fcntl64): Add introductory debug statement. Call dup3
|
|
directly via dtable method to avoid over-incrementing refcnt.
|
|
|
|
2012-02-01 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* dtable.cc (dtable::dup_worker): Add comment explaining why refcnt
|
|
isn't incremented here.
|
|
(dtable::dup3): Simplify slightly. Add comment.
|
|
* syscalls.cc (dup3): Increment refcnt here, similarly to dup2.
|
|
|
|
2012-02-01 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base_overlapped::has_ongoing_io): Don't block
|
|
GetOverlappedResult since previous IsEventSignalled will have reset the
|
|
handle.
|
|
* select.cc (cygwin_select): Remove space before parentheses in syscall
|
|
debugging output.
|
|
(pipe_data_available): Streamline if block.
|
|
|
|
2012-01-31 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* syscalls.cc (dup3): Fix debug typo.
|
|
|
|
* fhandler.cc (flush_async_io): Assume only called for writer. Call
|
|
GetOverlappedResult directly rather than kludging call to
|
|
has_ongoing_io.
|
|
(fhandler_base_overlapped::close): Only start flush thread when closing
|
|
write handle. Only cancel I/O when reading.
|
|
|
|
2012-01-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Fix order (DATA first).
|
|
|
|
2012-01-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (is_dos_path): New macro to recognize drive letter and UNC
|
|
DOS paths.
|
|
(globify): Call is_dos_path instead of isdrive.
|
|
|
|
2012-01-26 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* sigproc.cc (child_info::retry_count): Default to 1.
|
|
|
|
2012-01-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (gethostid): Simplify. Just fetch MachineGuid and
|
|
create hash from there.
|
|
|
|
2012-01-22 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* fhandler.h (fhandler_fifo::arm): Declare new function.
|
|
* fhandler_fifo.cc (fhandler_fifo::arm): Define new function.
|
|
(fhandler_fifo::open): Fix handling of RDWR pipes to avoid opening a
|
|
second handle. Use arm() function to set events.
|
|
(fhandler_fifo::raw_read): Correctly go into "connect again logic" when
|
|
we detect another writer is available. Use arm() function to set event.
|
|
* pipe.cc (fhandler_pipe::create): Add more detail to debugging output.
|
|
|
|
2012-01-22 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* cygheap.h (cygheap_fdmanip::release): Simplify.
|
|
* dtable.cc (dtable::release): Make void again. Skip not_open check
|
|
since it is guaranteed to be open. Don't bother deleting here since
|
|
actual deletion will be handled in cygheap_fdget::~cygheap_fdget.
|
|
* dtable.h (dtable::release): Make void again.
|
|
* syscalls.cc (dup2): Bump fhandler use count on successful dup.
|
|
|
|
2012-01-22 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* cygheap.h (cygheap_fdget::~cygheap_fdget): Simplify now that refcnt
|
|
reports reference count changes itself.
|
|
* fhandler.cc (fhandler_base::reset): Set _refcnt to 0.
|
|
* fhandler.h (fhandler_base::refcnt): Report refcnt when debugging.
|
|
|
|
* select.cc (cygwin_select): Set return_on_signal to indicate when
|
|
select should be interrupted.
|
|
(select_stuff::wait): Keep looping unless return_on_signal is set.
|
|
* select.h (select_stuff::return_on_signal): New variable.
|
|
(select_stuff::select_stuff): Zero return_on_signal.
|
|
|
|
2012-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_registry::opendir): Declare.
|
|
* fhandler_registry.cc (fhandler_registry::opendir): New function.
|
|
|
|
2012-01-13 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* include/cygwin/config.h (_GLIBC_EXTENSION): Define.
|
|
|
|
2012-01-11 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* spawn.cc (child_info_spawn::worker): Delete debugging.
|
|
|
|
2012-01-11 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
Update copyright on all files checked in so far this year.
|
|
* fhandler.h: Use #pragma once rather than ifdef guards.
|
|
(fhandler_console::tc_getpgid): Return our pgid if we have never opened
|
|
a console.
|
|
* fork.cc: Rearrange includes to accommodate fhandler.h use of pinfo.h.
|
|
* sigproc.cc: Ditto.
|
|
* spawn.cc: Ditto.
|
|
(child_info_spawn::worker): Query myself->pgid rather than calling
|
|
expensive function.
|
|
* thread.h: Use #pragma once rather than ifdef guards.
|
|
* pinfo.h: Use #pragma once rather than ifdef guards.
|
|
(pinfo::remember): Don't define if sigproc.h has not been included.
|
|
(pinfo::reattach): Ditto.
|
|
* sigproc.h: Use #pragma once rather than ifdef guards. Use different
|
|
test to see if pinfo.h has been included.
|
|
|
|
2012-01-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/process.h: Move here from newlib.
|
|
* exec.cc: Change include of process.h to reflect the fact that it's
|
|
now in the include/cygwin subfolder.
|
|
* spawn.cc: Ditto.
|
|
* syscalls.cc: Ditto.
|
|
|
|
2012-01-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* miscfuncs.cc (thread_wrapper): Make sure stack is 16 byte aligned
|
|
to make gcc-3 compiled pthread applications happy.
|
|
|
|
2012-01-08 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* dtable.cc (dtable::stdio_init): Always initialize console when we
|
|
have one.
|
|
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Use a better
|
|
method to print tty name for debugging.
|
|
(fhandler_termios::bg_check): Ditto.
|
|
* pinfo.cc (_pinfo::set_ctty): Remove leftover debugging stuff.
|
|
Simplify behavior when setting tty's sid and pgid to avoid overwriting
|
|
previously set values.
|
|
|
|
* spawn.cc (ch_spawn): Cosmetic change.
|
|
|
|
2012-01-06 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* cygwin.din (pthread_sigqueue): Export.
|
|
* posix.sgml (std-gnu): Add pthread_sigqueue.
|
|
* thread.cc (pthread_sigqueue): New function.
|
|
* thread.h (pthread_sigqueue): New function.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
|
|
2012-01-02 Christopher Faylor <me.cygwin2012@cgf.cx>
|
|
|
|
* path.cc (get_current_dir_name): Avoid memory leak. Don't return PWD
|
|
contents if directory doesn't actually exist.
|
|
|
|
2012-01-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* cygwin.din (get_current_dir_name): Export.
|
|
* path.cc (get_current_dir_name): New function.
|
|
* posix.sgml (std-gnu): Add get_current_dir_name.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|