What's new: ----------- - An IP-sampling profiler named 'profiler' has been added. It can be used to profile any Cygwin program along with any DLLs loaded. - A new tool 'gmondump' has been added. It can dump the raw information of any "gmon.out" file created by profiler, ssp, or use of the gcc/g++ option '-pg'. (Continue using gprof to get symbolic profile displays.) - New GNU-specific APIs, slated to become part of the next POSIX standard: pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock, sem_clockwait. - New Solaris-specific APIs, slated to become part of the next POSIX standard: sig2str, str2sig. What changed: ------------- - The speed argument to cfsetspeed(3) can now be a numerical baud rate rather than a Bnnn constant, as on Linux. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248887.html - The internal implementation of pipes has been overhauled; this should result in improved performance. Addresses: https://cygwin.com/pipermail/cygwin/2021-August/249238.html Bug Fixes --------- - Fix values returned by select(2) for shutdown sockets. Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-April/012092.html - Introduce a new hypotl(3) function not suffering unnecessary overflows. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248302.html - Fix path handling for paths spanning native symlinks. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248307.html - Fix tab position evaluation after console window resize. - Fix a regression in pseudo console handling, resulting in rlwrap not being able to start a new pseudo console. - Handle two race conditions in pseudo console usage. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248292.html - Fix a bug in recognizing a successful completion of connect(2) on a datagram socket. - Fix connect(2) when called with an address structure whose family is AF_UNSPEC. As specified by POSIX and Linux, this is allowed on datagram sockets, and its effect is to reset the socket's peer address. - Fix nanosleep(2) returning negative rem. NtQueryTimer appears to be able to return a negative remaining time (less than the timer resolution) for unsignalled timers. - Fix getifaddrs(3) returning address family 0 or IPv4 address 0. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248970.html - Fix getaddrinfo(3) to return valid ai_socktype and ai_protocol values if the underlying GetAddrInfoW screws up. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248985.html - Fix duplicate /proc/partitions entries and (presumably) duplicate PIDs in ps(1) output. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248998.html https://cygwin.com/pipermail/cygwin/2021-August/249124.html - Fix pty master closing error regarding attach_mutex. Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-October/012418.html - Fix access violation that can sometimes occur when copy/pasting between 32-bit and 64-bit Cygwin environments. Align clipboard descriptor layouts. Addresses: https://cygwin.com/pipermail/cygwin-patches/2021q4/011517.html - Fix a synchronization issue when running multiple threads from DLL initialization which in turn call malloc. Addresses: https://cygwin.com/pipermail/cygwin/2021-October/249635.html