cygwin 3.1.0-0.8 (TEST)

Corinna Vinschen
Tue Nov 19 14:31:00 GMT 2019

The following packages have been uploaded to the Cygwin distribution:

* cygwin-3.1.0-0.8
* cygwin-devel-3.1.0-0.8
* cygwin-doc-3.1.0-0.8

This release comes with a couple of new features and quite a few
bug fixes.

The most interesting changes:

- A revamp of the old FIFO code.  It should now be possible to open
  FIFOs multiple times for writing, something the old code failed on.
  Courtesy Ken Brown.

- Support the new pseudo console in PTY. Pseudo console is a new feature
  in Windows 10 1809, which provides console APIs on virtual terminal.
  With this patch, native console applications can work in Cygwin PTYs.
  Courtesy Takashi Yano.

There have been a couple more bug fixes, especially  in the PTY code,
since cygwin-3.1.0-0.7.  Please test!


What's new:

- Add 24 bit color support using xterm compatibility mode in Windows 10
  1703 or later.  Add fake 24 bit color support for legacy console,
  which uses the nearest color from 16 system colors.

- Support pseudo console in PTY. Pseudo console is a new feature
  in Windows 10 1809, which provides console APIs on virtual
  terminal. With this patch, native console applications can work
  in PTYs such as mintty, ssh, gnu screen or tmux.

- New APIs: sched_getaffinity, sched_setaffinity, pthread_getaffinity_np,
  pthread_setaffinity_np, plus CPU_SET macros.

- New APIs: dbm_clearerr, dbm_close, dbm_delete, dbm_dirfno, dbm_error,
  dbm_fetch, dbm_firstkey, dbm_nextkey, dbm_open, dbm_store.

What changed:

- FIFOs can now be opened multiple times for writing.

- If a SA_SIGINFO signal handler changes the ucontext_t pointed to by
  the third parameter, follow it after returning from the handler.

- Eliminate a header file name collision with <X11/XLocale.h> on case
  insensitive filesystems by reverting <xlocale.h> back to <sys/_locale.h>.

- Allow times(2) to have a NULL argument, as on Linux.

- Improve /proc/cpuinfo output and align more closely with Linux.

- Raise stackdump frame limit from 16 to 32.

Bug Fixes

- Fix select() on console in canonical mode.  Return after one line is
  completed, instead of when only one key is typed.

- Make console I/O functions thread-safe.

- Define missing MSG_EOR.  It's unsupported by the underlying Winsock
  layer so using it in send(2), sendto(2), or sendmsg(2) will return -1
  with errno set to EOPNOTSUPP and recvmsg(2) will never return it.

- Fix a timerfd deadlock.

- Fix sigpending() incorrectly returning signals for unrelated threads.

- Fix a hang when opening a FIFO with O_PATH.

- Don't append ".lnk" when renaming a socket file.

- Make tcsetpgrp() return -1 if its argument is negative.

- Avoid mistakenly moving a process under debugger control into the
  process group of the debugger.
  Addresses a problem visible in GDB 8.1.1, related to

- Return ENOEXEC from execve for arbitrary files only if the files are

- Fix off-by-one in environment evaluation leading to an abort.

- Make output of /proc/[PID]/stat consistent with getpriority().

- 64 bit only: Avoid collisions between memory maps created with shmat
  and Windows datastructures during fork.

- Make rmdir fail if its argument is a symlink.

- Fix an assertion failure on an invalid path.

- If the argument to mkdir(2) or rmdir(2) is 'x:\', don't strip the
  trailing backslash.

- Make spawnvp, spawnvpe fail if the executable is not in $PATH.

- Fix parent/child relationship after parent dies.

- Fix a security problem if Cygwin is installed into a path
  with spaces in it.


Have fun,

More information about the Cygwin-announce mailing list