Age | Commit message (Collapse) | Author | Files | Lines |
|
* external.cc: Include new callout.h header.
(cygwin_internal): Initial implementation of CW_CALLOUT and CW_CYGHEAP_MALLOC.
(dll_preload): Handle CYGWIN=preload:foo.dll.
(dummy_callout): Default NULL callout function.
* globals.cc: Include new callout.h header.
(callout): Declare/define.
* uname.cc (uname): Initial implementation of callout handling.
* winsup.h (dll_preload): Declare.
* include/cygwin/version.h: Bump API minor number to 269.
* include/sys/cygwin.h: Define CW_CALLOUT, CW_CYGHEAP_MALLOC.
|
|
(cmalloc_abort): Ditto.
(crealloc): Ditto.
(crealloc_abort): Ditto.
(ccalloc): Ditto.
(ccalloc_abort): Ditto.
* cygheap_malloc.h (HEAP_USER): Add.
(cmalloc): Use size_t for size field in declaration.
(cmalloc_abort): Ditto.
(crealloc): Ditto.
(crealloc_abort): Ditto.
(ccalloc): Ditto.
(ccalloc_abort): Ditto.
* path.cc (normalize_posix_path): Don't check existence of / or // dir in
parent dir check.
|
|
in parent dir check.
|
|
* environ.cc (tty_is_gone): Delete.
(known): Delete tty, add wincmdln.
* globals.cc: Reorganize list of environment bools, remove explicit =
false for slight load time optimization.
(wincmdln): New global.
* spawn.cc (child_info_spawn::worker): Honor wincmdln.
doc directory changes:
* new-features.sgml (ov-new1.7.23): Add new section. Mention wincmdln.
* cygwinenv.xml: Mention wincmdln.
|
|
(enum _SEMAPHORE_INFORMATION_CLASS): Define.
(NtQuerySemaphore): Declare.
* thread.h (class semaphore): Add member startvalue.
(semaphore::fixup_before_fork): New inline method.
(semaphore::_fixup_before_fork): Declare.
* thread.cc (MTinterface::fixup_before_fork): Additionally call
semaphore::fixup_before_fork.
(semaphore::semaphore): Set currentvalue to -1. Set startvalue to
incoming initializer value.
(semaphore::_getvalue): Just query semaphore using NtQuerySemaphore
rather then using WFSO/Release.
(semaphore::_post): Drop setting currentvalue. It's not thread-safe.
(semaphore::_trywait): Ditto.
(semaphore::_timedwait): Ditto.
(semaphore::_wait): Ditto.
(semaphore::_fixup_before_fork): New method, setting currentvalue from
actual windows semaphore right before fork.
(semaphore::_fixup_after_fork): Drop kludge from 2013-07-10. Drop
FIXME comment.
|
|
|
|
|
|
Add comment to explain.
|
|
|
|
|
|
|
|
Only use RtlCaptureContext on x86_64. It doesn't seem to do what's expected on
x86.
|
|
character command-line storage. Use wcs method to convert command line.
* winf.h (lb_wcs): Delete.
(linebuf::wcs): Implement new single-argument method.
|
|
in the buffer is the program name.
|
|
|
|
* kernel32.cc: Add includes needed for GetCommandLine functions.
(ucmd): New function.
(cygwin_GetCommandLineW): Ditto.
(cygwin_GetCommandLineA): Ditto.
* spawn.cc (child_info_spawn::worker): Rename one_line -> cmd. Use lb_wcs
macro to generate a wide character version of the line buffer. Remove
duplicate printing of command line. Don't access members of linebuf directly.
* winf.h: Use pragma once.
(linebuf): Make storage private.
(linebuf::operator size_t): New operator. Return size of buf.
(linebuf::operator wchar_t): New operator.
(linebuf::wcs): New function.
(lb_wcs): New macro.
* include/cygwin/version.h: Bump API minor number to 268.
* strfuncs.cc: Clarify descriptive file comment.
|
|
handle leak.
|
|
to make sure entire ipc_retval union is initialized on all supported
platforms.
|
|
dst, rather than at dst_start, otherwise suffer loss of one leading
slash in case of UNC paths.
|
|
* dcrt0.cc (initial_env): Remove unused variable.
|
|
* Makefile.in (DLL_OFILES): Drop fhandler_mem.o.
(fhandler_mem_CFLAGS): Remove rule.
* devices.in (enum fh_devices): Remove FH_MEM, FH_KMEM and FH_PORT.
* devices.cc: Regenerate.
* dtable.cc (fh_alloc): Drop handling for FH_MEM, FH_KMEM and FH_PORT.
* fhandler.h (class fhandler_dev_mem): Remove.
* fhandler_mem.cc: Remove file.
* globals.cc (ro_u_pmem): Remove.
* mmap.cc (fhandler_dev_mem::mmap): Remove.
(fhandler_dev_mem::munmap): Remove.
(fhandler_dev_mem::fixup_mmap_after_fork): Remove.
|
|
|
|
|
|
|
|
* thread.cc (semaphore::_fixup_after_fork): Report on potential problem
parameter. Make sure that currentvalue is never zero.
(semaphore::init): Make cosmetic change.
|
|
(.eh_frame): Add section.
* environ.cc (my_findenv): Drop __stdcall attribute.
(getearly): Ditto.
(findenv_func): Drop cast.
|
|
deleted when close_with_arch is referenced *via* the archetype.
|
|
description in all comments. Make algorithm work on Windows 8.1
Preview.
|
|
taking 4K more stack in forked child.
* fork.cc (frok::parent): Print child exit code in hex if sync failed.
|
|
* posix.sgml (std-gnu): Add rawmemchr.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
* path.sgml (func-cygwin-conv-path): Document returning EINVAL if
"from" is NULL.
|
|
|
|
of conglomerated newargv.setup(). Let newargv.setup() decide when to call
dup_all(). Only set argc and argv for cygwin processes.
(av::setup): Rename from av::fixup. Accept argc and argv parameters. Fill out
argv and argc here. Duplicate whole argv structure when this is a Cygwin
executable.
* winf.cc (linebuf::fromargv): Don't bother duplicating argv elements since
they will never be used.
* winf.h (av::set): Delete.
(av::setup): Rename from av::fixup. Add two parameters.
(av::replace0_maybe): Assign calloced to 1 rather than 'true' for clarity.
(av::dup_maybe): Delete.
(av::dup_all): Set calloced to show that we have duplicated all of the
arguments in the list.
|
|
wcscoll since all calling functions are using wide chars. Explain in
preceeding comment.
|
|
|
|
pointer since getstack() already does that.
|
|
around definition of bzero.
|
|
(EXTRA_DLL_OFILES): Remove.
(DLL_OFILES): Remove EXTRA_DLL_OFILES.
(ASFLAGS): Define as -D_WIN64 on x86_64.
(GMON_OFILES): Add mcountFunc.o.
($(srcdir)/$(TLSOFFSETS_H)): Use target_cpu rather than CONFIG_DIR.
* configure.ac (CONFIG_DIR): Remove definition.
* configure: Regenerate.
* gcrt0.c: Use latest version from Mingw-w64 project.
* gmon.c: Ditto.
* gmon.h: Ditto.
* mcount.c: Ditto.
* mcountFunc.S: Ditto, new file.
* profil.c: Ditto.
* profil.h: Ditto.
* config: Remove entire directory.
|
|
(symlink_native): Fix creating relative native symlink.
|
|
read access overrun when pos > 0.
|
|
(__to_clock_t): Remove a debug_printf.
(times): Align syscall_printf to debug output of other system calls.
|
|
* times.cc (GetSystemTimePreciseAsFileTime): Temporarily declare here
to workaround missing definition in 32 bit w32api headers.
(get_system_time): New always inline function to call either
GetSystemTimePreciseAsFileTime or GetSystemTimeAsFileTime on a per OS
basis. Call throughout instead of GetSystemTimeAsFileTime.
* wincap.h (wincaps::has_precise_system_time): New element.
* wincap.cc: Implement above element throughout.
|
|
Windows 9x compatibility.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Drop now unneeded
casts in calls to_timestruc_t.
(fhandler_base::utimens_fs): Ditto for timespec_to_filetime.
* fhandler_proc.cc (format_proc_stat): Ditto for to_time_t.
* hires.h (class hires_ms): Remove unused member initime_ns.
Remove declarations for timeGetTime_ns and prime.
(hires_ms::uptime): Remove.
* posix_ipc.cc (ipc_cond_timedwait): Ditto for timespec_to_filetime.
* fhandler_registry.cc (fhandler_registry::fstat): Add cast.
* resource.cc (fill_rusage): Call NtQueryInformationProcess rather than
GetProcessTimes to deal with LARGE_INTEGER rather than FILETIME.
* times.cc: Simplify time handling. Throughout, use LARGE_INTEGER
rather than FILETIME to simplify computations. Throughout use
{u}int64_t rather than {unsigned} long long. Drop unneeded casts since
NSPERSEC is 64 bit anyway.
(systime_ns): Remove.
(times): Call NtQuerySystemInformation to fetch boot time. Call
NtQueryInformationProcess rather than GetProcessTimes to deal with
LARGE_INTEGER rather than FILETIME. Call GetSystemTimeAsFileTime.
(totimeval): Use constant 1000000 as in other functions.
(time_t_to_filetime): Remove.
(to_time_t): Change return type to time_t.
(time_as_timestruc_t): Rename filetime to systime.
(time): Ditto. Add cast.
(hires_ns::nsecs): Fix return type cast.
(hires_ms::timeGetTime_ns): Remove.
(hires_ns::prime): Remove.
(hires_ms::nsecs): Drop call to prime. Call GetSystemTimeAsFileTime
directly. Subtract FACTOR here since it's the only function needing
to do so.
(minperiod): Cosmetically change to ULONG.
(hires_ns::resolution): Fix return type cast.
(hires_ms::resolution): Simplify, rely on NtQueryTimerResolution.
* winsup.h: Align time related prototypes to above changes.
|
|
names for old pre-1.7 applications.
(get_ifs): Call gen_old_if_name for said old applications.
|
|
|
|
allows to access files via ".." using an invalid POSIX path.
|
|
|
|
error. Explain why.
|
|
|
|
process.
(sigpacket::setup_handler): Fix long-standing problem where loop could exit
with lock held.
|