Age | Commit message (Collapse) | Author |
|
* include/w32api.h: Increment version to 3.4.
* Makefile.in: Ditto.
|
|
* Include/_mingw.h: Increment version to 3.9.
* Makefile.in: Ditto.
|
|
|
|
pthread cleanup brackets.
|
|
(cygheap_fdenum::rewind): Ditto.
* pipe.cc (fhandler_pipe::open): Lock fdtab while enumerating.
* times.cc (utimes_worker): Ditto.
|
|
|
|
deadlocks.
(class locked_process): Move to another header.
* sync.h (lock_process): Define here.
* cygtls.cc (_cygtls::fixup_after_fork): Reset spinning state as well as
stacklock state.
* dcrt0.cc (lock_process::locker): Define.
(dtable::lock_cs): Delete.
* dtable.cc (dtable_init): Eliminate call to init_lock().
(dtable::fixup_after_fork): Ditto.
(dtable::init_lock): Delete definition.
* dtable.h (dtable::init_lock): Delete declaration.
(dtable::lock): Use process lock rather than dtable-specific lock.
(dtable::unlock): Ditto.
* sigproc.cc (sigproc_init): Minor change to debugging output.
* times.cc (utime_worker): Use build_fh_pc rather than reinterpreting the posix
path name again. Return any error from path_conv immediately.
|
|
WSAEINVAL -> WSAEISCONN conversion to nonblocking sockets.
(fhandler_socket::accept): Use event driven technique to implement
interuptible accept.
(fhandler_socket::wait): Allow FD_ACCEPT handling.
* net.cc (cygwin_accept): Remove workaround for allowing blocking
accept. That's entirely in fhandler_socket::accept now.
|
|
method.
* fhandler_socket.cc (fhandler_socket::connect): Use event driven
technique (prepare/wait/release) to implement interuptible connect.
(fhandler_socket::wait): Add timeout parameter. Allow FD_CONNECT
handling.
* net.cc (cygwin_connect): Remove braindead workaround for allowing
blocking connect. That's entirely in fhandler_socket::connect now.
|
|
|
|
* fork.cc (fork): Move exit debug_printf to last statement.
|
|
(lutimes): Export.
* times.cc (utimes_worker): Created from utimes, add nofollow flag
to implement utimes and lutimes.
(utimes): Just call utimes_worker.
(lutimes): New function.
(futimes): Ditto.
* include/cygwin/version.h: Bump API minor version.
|
|
* spawn.cc (spawn_guts): Correct check for top-level process.
|
|
* spawn.cc (spawn_guts): Correct check for top-level process.
|
|
from wsock32.dll since these symbols are not exported from ws2_32.dll.
|
|
|
|
fhandler has one.
* times.cc (utimes): Scan open fds for matching paths and use existing fhandler
if one exists.
|
|
printing it.
(_pinfo::alert_parent): Fix comment. Don't send to parent if we are in an exec
stub.
|
|
* sigproc.cc (child_info::sync): Only clear hProcess when execing.
(wait_sig): Protect readsig handle.
|
|
(NtUnlockVirtualMemory): Import.
(GetProcessWorkingSetSize): Import.
(SetProcessWorkingSetSize): Import.
* cygwin.din (mlock): Export.
(munlock): Export.
* mmap.cc (mlock): New function.
(munlock): Ditto.
* ntdll.h (STATUS_WORKING_SET_QUOTA): Define.
(LOCK_VM_IN_WSL): Define.
(LOCK_VM_IN_RAM): Define.
(NtLockVirtualMemory): Declare.
(NtUnlockVirtualMemory): Declare.
* sysconf.cc (sysconf): Implement _SC_MEMLOCK_RANGE.
* wincap.h: Implement has_working_virtual_lock throughout.
* wincap.cc: Ditto.
* include/cygwin/version.h: Bump API minor version.
* include/sys/mman.h (mlock): Declare,
(munlock): Declare.
|
|
warnings when DEBUGGING.
* spawn.cc (spawn_guts): Set myself.hProcess to pi.hProcess since this may have
been zeroed by the previous sync.
|
|
cleared. Only clear hProcess when not forking.
|
|
cygthread to handle extra argument, throughout.
* cygthread.h (cygthread::callproc): Declare new method.
(cygthread::cygthread): Add optional length argument to allow copying arguments
to executing thread.
* cygthread.cc (cygthread::callproc): Define new method.
(cygthread::stub): Use callfunc to invoke thread func to allow potentially
allocating stack memory which will be returned.
(cygthread::simplestub): Ditto.
(cygthread::cygthread): Accept arglen argument. Reset ev here prior to
activating thread. Wait for ev after activating thread if we're copying
contents to the thread. Wait until the end before setting h, to allow thread
synchronization.
(cygthread::release): Don't reset ev here. Rely on that happening the next
time the thread is activated.
* pinfo.h (commune_process): Rename declaration from _pinfo::commune_process.
* pinfo.cc (commune_process): Ditto for definition. Modify slightly to allow
running as a separate cygthread.
* sigproc.cc (child_info::sync): Always wait for both subproc_ready and any
hProcess if we have a cygwin parent.
(talktome): Change argument to be a pointer to siginfo_t. Contiguously
allocate whole siginfo_t structure + any needed extra for eventual passing to
commune_process thread.
(wait_sig): Accommodate change in talktome argument.
* pipe.cc (fhandler_pipe::fixup_after_exec): Remove debugging.
|
|
from ws2_32. Rearrange symbol order accordingly. None of the ws2_32
functions is optional right now.
(wsadata): Move from net.cc here. Define NO_COPY.
(wsock_init): Drop unused symbols ws2_32_handle and wsock32_handle.
(load_wsock32): Remove.
(WSACleanup): Remove.
* fhandler_socket.cc: Drop Winsock 1 accommodations throughout.
(fhandler_socket::readv): Accomodate new POSIX style struct msghdr.
(fhandler_socket::writev): Ditto.
(fhandler_socket::recvmsg): Ditto. Handle "old" applications using
former struct msghdr correctly.
* net.cc: Drop Winsock 1 accommodations throughout.
(wsadata): Move definition to autoload.cc.
(set_socket_inheritance): Remove.
(convert_ws1_ip_optname): New static function to convert Winsock1
IPPROTO_IP option values into Winsock2 IPPROTO_IP option values.
(cygwin_setsockopt): Remove wrong and incomplete cleartext printing
of optname. For "old" applications, convert optname from Winsock1
to Winsock2 values before using them. Add comment to describe the
IP_TOS weirdness on W2K and above.
(cygwin_getsockopt): Remove wrong and incomplete cleartext printing
of optname. For "old" applications, convert optname from Winsock1
to Winsock2 values before using them.
* select.cc (start_thread_socket): Forget about winsock2_active.
* winsup.h (wsock32_handle): Remove declaration.
(ws2_32_handle): Ditto.
(netapi32_handle): Ditto.
(wsadata): Ditto.
(winsock2_active): Remove definition.
* include/cygwin/socket.h: Change formatting slightly.
(socklen_t): Move definition up in file.
(struct msghdr): Convert to POSIX style.
(struct cmsghdr): New type.
(CMSG_ALIGN): New macro.
(CMSG_LEN): Ditto.
(CMSG_SPACE): Ditto.
(CMSG_FIRSTHDR): Ditto.
(CMSG_NXTHDR): Ditto.
(CMSG_DATA): Ditto.
(SCM_RIGHTS): Ditto.
(struct OLD_msghdr): Define old msghdr structure for Cygwin internal
purposes.
(MSG_TRUNC): New macro.
(MSG_CTRUNC): Ditto.
(IP_OPTIONS): Redefine IPPROTO_IP option values to Winsock2 values.
Keep Winsock1 values for Cygwin internal purposes.
* include/cygwin/version.h: Bump API minor version.
(CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR): Define to check for
applications using old struct msghdr.
(CYGWIN_VERSION_CHECK_FOR_USING_WINSOCK1_VALUES): Define to check for
applications using old Winsock1 IPPROTO_IP values.
|
|
|
|
(LLONG_MAX, LLONG_MIN, ULLONG_MAX): Separate from non-ISO names.
|
|
Create directories with 755 permissions.
|
|
* include/tchar.h: Include <wchar.h> when _UNICODE is defined.
(_TEOF): New macro definition for _UNICODE and non_UNICODE cases.
|
|
(rmdir): Ditto.
* path.h (PC_WRITABLE): Delete.
* path.cc (path_conv::check): Remove PC_WRITABLE accommodations. Revisit
later.
|
|
ERROR_INVALID_FUNCTION into an ERROR_FILE_NOT_FOUND. Add comment
to explain why.
|
|
Use _WIN32_WINNT >= 0x0501 guard.
|
|
* include/stdarg.h: Remove.
|
|
of result is positive when real part of arg == 0;
* mingwex/complex/csqrtf.c (csqrtf): Ditto.
* mingwex/complex/csqrtl.c (csqrtl): Ditto.
|
|
|
|
Revert erroneous include/winsock.h checkin.
|
|
|
|
|
|
|
|
|
|
to add the priority to the message in a syslog conformant way.
(vsyslog): If facility isn't set in the priority, use default facility
as given in call to openlog. Fix agressive use of spaces in syslog
output. Call try_connect_syslogd with priority parameter.
|
|
ignored.
(symlink_info::check): Treat path as a normal file if set_error returns false.
|
|
* mingwex/feholdexcept.c (feholdexcept): Don't set exceptions
to non-stop. Use "fnclex" to clear exception flags.
|
|
* dtable.h (class dtable): Add class process_lock as a friend.
* dcrt0.cc (get_exit_lock): Delete.
(do_exit): Use process_lock class instead of get_exit_lock.
* exceptions.cc (signal_exit): Ditto.
* pinfo.cc (pinfo::exit): Ditto.
(_pinfo::commune_process): Set process lock around this whole function.
(_pinfo::commune_request): Use process_lock rather than myself.lock.
* pinfo.h (pinfo::_lock): Delete.
(pinfo::initialize_lock): Delete.
(pinfo::lock): Delete.
(pinfo::unlock): Delete.
* winsup.h (get_exit_lock): Delete declaration.
|
|
|
|
|
|
* faq-what.xml: Add 2003 and WOW64 to "supported" FAQ.
* faq-programming.xml: Fix cygexec FAQ, building link.
|
|
* exceptions.cc (exit_lock): Delete.
(events_init): Don't init exit_lock.
* (_pinfo::commune_process): Add per-PICOM debugging.
* sigproc.cc (talktome): Add some temporary debugging statements.
* fhandler_proc.cc (format_proc_cpuinfo): Cosmetic change.
(format_proc_partitions): Ditto.
* syscalls.cc (locked_append): Ditto.
|
|
instead.
(get_exit_lock): New function. Grabs the lock and sets initial exit_state.
* exceptions.cc (try_to_debug): Use low_priority_sleep.
(sigpacket::process): Avoid handler if this is an exec stub.
(signal_exit): Use get_exit_lock rather than manipulating the exit_lock
critical section directly.
* pinfo.cc (pinfo::exit): Ditto.
* winsup.h (get_exit_lock): Declare.
(exit_lock): Delete declaration.
|
|
|
|
calls to pc.file_attributes throughout.
* path.h (class path_conv): Remove superfluous set_attributes method.
|