CALL FOR TESTING: Cygwin 1.7.10

Corinna Vinschen
Tue Dec 6 10:00:00 GMT 2011

A lot of changes and fixes have been made in Cygwin since 1.7.9 has
been released, so we're looking forward to release Cygwin 1.7.10 soon.

Please test the latest developer snapshots at
which should have "Release Candidate" quality.

A very noticable change is that for this release we dropped support for
Windows NT4 entirely.  Cygwin 1.7.10 won't start on NT4 machines anymore.
Nor will Cygwin and the Cygwin utilities know about NT4 domains.  Domain
support requires at least a Windows 2000 Active Directory domain now.

In 1.7.10 a few internals have changed, which influence the way some of
the Cygwin tools work.  For instance, the Cygwin ps tool from 1.7.9 will
show weird tty numbers for processes running in a console window, while
the new ps knows how to handle the new values.

So, ideally for testing you don't just exchange the Cygwin DLL, but also
the tools and, if you want to test some of the new API, the include
files and link libs.

Please report bugs to the cygwin at cygwin dot com mailing list.
Please follow the guidelines at
Be aware that we're mainly focusing on regressions from 1.7.9.

What's new:

- New getconf tool for querying confstr(3), pathconf(3), sysconf(3), and
  limits.h configuration.

- The passwd tool now allows an administrator to use the -R command for
  other user accounts:  passwd -R username.

- Experimental: Change the way sockets are created so that Cygwin always
  circumvents so-called "layered service providers" (LSPs) starting with
  Windows Vista.

- signal handler functions are now dispatched in threads other than the
  main thread.

- Support NcFsd filesystem.

- clock_gettime(3) and clock_getres(3) accept per-process and per-thread
  CPU-time clocks, including CLOCK_PROCESS_CPUTIME_ID and

- New pthread functions:

  - Spin Locks: pthread_spin_destroy, pthread_spin_init, pthread_spin_lock,
    pthread_spin_trylock, pthread_spin_unlock.

  - Stack management: pthread_attr_getstack, pthread_attr_getstackaddr,
    pthread_attr_getguardsize, pthread_attr_setstack, pthread_attr_setstackaddr,
    pthread_attr_setguardsize, pthread_getattr_np.
  - Clock Selection: pthread_getcpuclockid, pthread_condattr_getclock,

  - Scheduling: pthread_setschedprio.

- Add /proc/devices, /proc/misc, /proc/sysvipc, /proc/swaps.

- Make various system functions thread cancelation points per POSIX.

- Add ioctl FIONREAD handling for non-sockets.

- dlopen now supports the Glibc-specific RTLD_NODELETE and RTLD_NOOPEN flags.

- Execed processes now inherit the children of their predecessor.

- Fifos have been rewritten and should now be more reliable.

- GNU/glibc error.h error reporting functions: error, error_at_line,
  error_message_count, error_one_per_line, error_print_progname.

- Other new API: clock_getcpuclockid, clock_nanosleep, clock_settime, __fpurge,
  getgrouplist, ppoll, psiginfo, psignal, ptsname_r, sys_siglist, sysinfo.

- cygwin_conv_path_list finally supports CCP_WIN_W_TO_POSIX and
  CCP_POSIX_TO_WIN_W conversions.

What changed:

- Drop support for Windows NT4.

- The CYGWIN environment variable options "envcache", "strip_title", "title",
  "tty", and "upcaseenv" have been removed.

- Revamp console and pseudo tty handling.  Rename /dev/ttyX to /dev/consX,
  /dev/ttyX to /dev/ptyX.

- The CYGWIN=tty mode using pipes to communicate with the console in a pseudo
  tty-like mode has been removed.  Either just use the normal Windows console
  as is, or use a terminal application like mintty.

- Improve fork/exec performance on 64 bit systems.

- Improve Ctrl-C handling in console.

- Try harder to let fork not fail if DLLs are moved in memory which should,
  in some cases, minimize the need for rebaseall.

- New heap management.  Drop registry setting "heap_chunk_in_mb" in favor of
  a new per-executable setting in the executable file header which can be set
  using the peflags tool.  Drop registry setting "heap_slop_in_mb" entirely.

- dlopen can now find "cygFOO.dll", even if the caller specified "".
  This is supposed to support applications which are no aware of Windows DLLs.

- Make accept(2), poll(2) and shutdown(2) behave more like on Linux.

- Raise max number of mount points from 30 to 64.

- Output of /proc/maps is closer to what Linux prints and much more useful to
  examine process VM layout.

- /proc/loadavg now shows the number of currently running processes and the
  total number of processes.

- /proc/version now shows the username of whomever compiled the Cygwin DLL
  as well as the version of GCC used when compiling.

- cygwin_conv_path and cygwin_conv_path_list: In CCP_WIN_A_TO_POSIX and
  CCP_POSIX_TO_WIN_A conversions, use the current Windows ANSI or OEM
  charset, depending on the return value of AreFileApisANSI.  Up to Cygwin
  1.7.9, both conversions used the current Cygwin charset for the conversion.

- Various assorted bugfixes and improvements.

- Preliminary, no guarantee, may be broken in subtil ways, Windows 8 support.



If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

More information about the Cygwin-announce mailing list