cygwin 3.3.0-1

Corinna Vinschen
Thu Oct 28 11:31:49 GMT 2021

The following packages have been uploaded to the Cygwin distribution:

* cygwin-3.3.0-1
* cygwin-devel-3.3.0-1
* cygwin-doc-3.3.0-1


- Cygwin 3.3.0 is the LAST major version supporting

  - Windows Vista
  - Windows Server 2008

- Cygwin 3.3.0 is the LAST major version supporting 32 bit installations.

  If you're using 32 bit Cygwin in WOW64 on 64 bit machines, consider
  to move to a real 64 bit Cygwin installation in the next couple of

  If you're using 32 bit Cygwin on real 32 bit hardware or on WOW64 on
  ARM64, don't be alarmed.  The current installations including all
  Cygwin 3.3.x versions will continue to run on your system.  You just
  wont get any more updates starting with Cygwin 3.4.0.

- Cygwin 3.4.0, which will probably be release at some point in 2022,
  will be the LAST version supporting

  - Windows 7
  - Windows Server 2008 R2
  - Windows 8
  - Windows Server 2012

There are no plans to deprecate support for 64 bit systems starting with
Windows 8.1 / Windows Server 2012 R2 any time soon.


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.

- The internal implementation of pipes has been overhauled; this
  should result in improved performance.

Bug Fixes

- Fix values returned by select(2) for shutdown sockets.

- Introduce a new hypotl(3) function not suffering unnecessary overflows.

- Fix path handling for paths spanning native symlinks.

- 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.

- 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

- 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.

- Fix getaddrinfo(3) to return valid ai_socktype and ai_protocol values
  if the underlying GetAddrInfoW screws up.

- Fix duplicate /proc/partitions entries and (presumably) duplicate PIDs
  in ps(1) output.

- Fix pty master closing error regarding attach_mutex.

- Fix access violation that can sometimes occur when copy/pasting between
  32-bit and 64-bit Cygwin environments.  Align clipboard descriptor layouts.

- Fix a synchronization issue when running multiple threads from DLL
  initialization which in turn call malloc.

More information about the Cygwin-announce mailing list