| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
sure that yield() isn't called when signal stack is locked.
|
| |
|
|
|
|
| |
* sigproc.cc (exit_thread): Remove now-unneeded sleep code.
|
| |
|
| |
|
|
|
|
|
|
| |
code if mandatory locking is used on this descriptor. Explain why.
(fhandler_disk_file::pwrite): Ditto.
* posix.sgml (std-notes): Extend description of file locking.
|
| |
|
|
|
|
|
|
|
| |
sig_handle_tty_stop to wake up. Make sure to unlock before calling
yield to avoid starvation of sig_handle_tty_stop. Add comments.
* miscfuncs.cc (yield): Explain why yield should never be called under
_cygtls::lock conditions. Call SleepEx with 1ms timeout. Explain why.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_base::fixup_after_exec): Reset mandatory_locking.
* fhandler.h (class fhandler_base): Add mandatory_locking status flag.
Add mandatory_locking accessor methods. Accommodate change throughout.
(fhandler_base::mand_lock): Declare.
(class fhandler_disk_file): Drop in favor of new status flag.
* (fhandler_disk_file::fcntl): Call need_fork_fixup if mandatory_locking
flag gets set.
* flock.cc (fhandler_base::lock): Define here.
(flock): Handle mandatory_locking.
(lockf): Ditto.
(fhandler_base::mand_lock): Define.
|
| |
|
|
|
|
| |
global dtors. Explain why.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fcntl.cc (fcntl64): Drop handling of locking commands.
* fhandler.h (class fhandler_disk_file): Add mandatory_locking.
(fhandler_disk_file::fcntl): Declare.
(fhandler_disk_file::mand_lock): Declare.
* fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file):
Initialize mandatory_locking.
(fhandler_disk_file::fcntl): New method. Handle F_LCK_MANDATORY and
locking commands.
(fhandler_disk_file::dup): Duplicate mandatory_locking. Fix a bug
when duplicating prw_handle failed.
(fhandler_disk_file::fixup_after_fork): Reset mandatory_locking.
* flock.cc (fhandler_disk_file::lock): Add comment.
(struct lock_parms): New struct to pass parameters to blocking_lock_thr
thread function.
(blocking_lock_thr): New thread function.
(fhandler_disk_file::mand_lock): New methof implementing mandatory
locking with Windows semantics.
* ntdll.h (NtLockFile): Declare.
(NtUnlockFile): Declare.
* include/fcntl.h: Fix a comment.
(F_LCK_MANDATORY): Define. Add lengthy comment to explain.
|
|
|
|
| |
patch from 2009-07-22: Set si_addr according to POSIX for SIGSEGV.
|
|
|
|
| |
* include/cygwin/socket.h: ...to here.
|
| |
|
|
|
|
| |
to avoid circular dependency resulting in bogus compile time warnings.
|
|
|
|
|
| |
fhandler_base::raw_read from here. Drop comment.
(fhandler_procsys::write): Drop comment.
|
| |
|
|
|
|
|
|
|
| |
accommodate process with all runtime loaded DLLs already dlclosed
at fork time.
* gendef (_sigfe_maybe): Fix code handling early return if we don't
have a tls, broken on 2013-05-21.
|
| |
|
|
|
|
|
| |
(COMPILE.cc): Move -mno-use-libstdc-wrappers flag from here...
($(TEST_DLL_NAME)): ...to here since it's a link time flag.
|
| |
|
|
|
|
|
|
| |
using wide chars to make sure native chars don't get scrambled.
* environ.h (build_env): Fix formatting in declaration.
* pinfo.cc (pinfo::status_exit): Handle STATUS_NO_MEMORY. Explain why.
|
|
|
|
| |
Explain why.
|
|
|
|
| |
to the parent command line. Change comment to explain why.
|
|
|
|
|
|
|
|
|
| |
stacksize to SIZE_T. Cast to SIZE_T in pointer arithmetic. Slightly
enhance output in case of a fatal error.
* fork.cc (frok::parent): Always set ch.stackaddr to DeallocationStack
value of current thread to help stack reservation in
child_info_fork::alloc_stack_hard_way along. Simplify subsequent code
storing stack values in ch. Print guardsize in hex, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
option. On pre-Vista warn the user if the "winsymlinks:native*" option
is set.
* globals.cc (enum winsym_t): Add WSYM_nativestrict.
* path.cc (symlink_native): Don't create native symlink if target
does not exist. Explain why. Improve comments.
(symlink_worker): Change AFS symlink handling to WSYM_nativestrict.
Handle WSYM_nativestrict throughout. Change condition for bail out
to wsym_type == WSYM_nativestrict. Add comment. Fix formatting.
* shared_info.h (CURR_USER_MAGIC): Change to reflect change in
class user_info.
(class user_info): Add member warned_nonativesyms.
|
|
|
|
|
|
| |
the fact that CURR_SHARED_MAGIC and USER_SHARED_MAGIC are unsigned
values.
* shared.cc (shared_info::initialize): Drop explicit cast here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* common.din: Export arc4random, arc4random_addrandom, arc4random_buf,
arc4random_stir and arc4random_uniform.
* mktemp.cc (arc4random): Remove static replacement function.
* posix.sgml (std-bsd): Add arc4random functions.
* include/cygwin/stdlib.h: Declare arc4random functions.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* libc/arc4random.cc: New file implementing arc4random functions taken
from FreeBSD.
|
|
|
|
|
| |
used for.
* miscfuncs.cc (thread_wrapper): Set __isthreaded to 1 here.
|
|
|
|
| |
uint32_t to make sure it's 32 bit on all supported platforms.
|
|
|
|
|
|
|
| |
* gendef (_sigfe_maybe): Drop pushing %r12, use %r10 instead since we
don't call yield anymore.
(_sigfe): Ditto.
(_sigbe): Ditto.
|
|
|
|
|
|
|
| |
* Makefile.in (DLL_OFILES): Add base64.o.
* common.din: Export __b64_ntop and __b64_pton.
* posix.sgml (std-bsd): Add __b64_ntop and __b64_pton.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
| |
|
|
|
|
|
|
|
| |
(sigheld): Delete.
(sig_send): Eliminate special-case __SIGHOLD handling.
(wait_sig): Just flag when signals are on hold and add them to the queue rather
than stalling the wait_sig loop. Clear the flag when __SIGNOHOLD is specified.
|
| |
|
|
|
|
|
| |
code requires int overflows to be fully defined.
* localtime.cc: Align a bit more to upstream code.
|
|
|
|
|
| |
(initgroups32): Accommodate the aforementioned change.
(getgrouplist): Ditto.
|
|
|
|
| |
even if it's empty.
|
| |
|
|
|
|
|
| |
* x86_64.din: Move strtold definition...
* common.din: ...to here.
|
| |
|
|
|
|
|
|
| |
INFINITE amount of time. Instead default to 1/10 second.
(fhandler_pty_slave::open): Just default to INFINITE wait rather than
(now) waiting longer than previously.
|
|
|
|
|
|
|
|
|
|
|
|
| |
(system_call_handle): Rename from system_call_cleanup.
(is_system_call): New convenience method.
(system_call_handle::system_call_handle): Use ILLEGAL_SIG_FUNC_PTR rather than
cast. Call sig_send here rather than in caller. Initialize oldint.
(system_call_handle::arm): New function pulled from constructor.
(~system_call_handle::system_call_handle): Use is_system_call().
(child_info_spawn::worker): Use system_call_handle to set up for system call
early. Use arm call prior to waiting for child to properly set up signal
handling. Move comment closer to code it is commenting on.
|
|
|
|
| |
rlim_cur > rlim_max.
|