This is the mail archive of the cygwin-announce mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Updated: cygwin-1.7.8-1

Hi Cygwin friends and users,

I just released 1.7.8-1.  This release fixes a bunch of bugs and a
moderate amount of new features.

Most notably is perhaps the return of the ability to delete empty
directories which are current working directory of other (or the own)
Cygwin processes.  Using an unfortunately undocumented feature allowed
to do it again on Vista and later.  I really hope that Microsoft won't
change the behaviour too often (it happened already once with a recent
security patch), otherwise we will have to revert it again.

I think this goes without saying, but please have another look into the
documentation at  It
contains a couple of improvements and the description for new features
and changes from old behaviour.

What's new since Cygwin 1.7.7:

- Bad news first:  Running Cygwin now requires at least NT4 SP4.
  Will anybody notice...?

- Cygwin now ships the C standard library fenv.h header file, and
  implements the related APIs (including GNU/glibc extensions):
  feclearexcept, fedisableexcept, feenableexcept, fegetenv, fegetexcept,
  fegetexceptflag, fegetprec, fegetround, feholdexcept, feraiseexcept,
  fesetenv, fesetexceptflag, fesetprec, fesetround, fetestexcept,
  feupdateenv, and predefines both default and no-mask FP environments.

- Support for C99 complex functions, except for the "long double"
  implementations.  New APIs: cacos, cacosf, cacosh, cacoshf, carg,
  cargf, casin, casinf, casinh, casinhf, catan, catanf, catanh, catanhf,
  ccos, ccosf, ccosh, ccoshf, cexp, cexpf, cimag, cimagf, clog, clogf,
  conj, conjf, cpow, cpowf, cproj, cprojf, creal, crealf, csin, csinf,
  csinh, csinhf, csqrt, csqrtf, ctan, ctanf, ctanh, ctanhf.

- The strerror_r interface now has two flavors; if _GNU_SOURCE is
  defined, it retains the previous behavior of returning char * (but the
  result is now guaranteed to be NUL-terminated); otherwise it now obeys
  POSIX semantics of returning int.

- /proc/sys now allows unfiltered access to the native NT namespace.
  Access restrictions still apply.  Direct device access via /proc/sys
  is not yet supported.  File system access via block devices works,
  though.  So, here's the new interface to your Volume Shadow Copies:

    $ cd /proc/sys/Device/HarddiskVolumeShadowCopy1/

  Specifying the trailing slash is necessary to access the root
  directory, otherwise the call is treated as if you're trying to open
  the underlying block special device.  That's how it works in Windows.
  To access subdirectories, the trailing slash is not required.

- Other new APIs: llround, llroundf, madvise, pthread_yield.  Export
  program_invocation_name, program_invocation_short_name.
  Support TIOCGPGRP, TIOCSPGRP ioctls.

- Define more recent setsockopt IP_TOS options as on Linux and OpenBSD.

What changed since Cygwin 1.7.7:

- Reintroduce the ability to delete an empty directory which is the
  current working directory of the same or another Cygwin process.

- Core file access functions have been slightly redesigned to gain
  performance.  Hopefully file access got just a bit faster now...

- On startup, Cygwin now removes enclosing quotes and trailing
  backslashes from Win32 environment path lists which are converted
  to POSIX.  This affects especially $PATH.

- Reorganize signal initialization to work around slow process startup on
  some WOW64 systems.

Bugfixes since Cygwin 1.7.7:

- Fix the width of "CJK Ambiguous Width" characters to 1 for singlebyte
  charsets and 2 for East Asian multibyte charsets. (For UTF-8, it
  remains dependent on the specified language, and the "@cjknarrow"
  locale modifier can still be used to force width 1.)

- Fix a potential premature "broken pipe" with non-blocking pipes.

- Fix a potential crash after fork on Windows XP.

- So far all exec functions tried to run a file as shell script under
  /bin/sh if the file type couldn't be recognized.  This has been
  changed per POSIX, so that only the execlp and execvp functions will
  do that.

- Fix a potential stack corruption when using file locking.

- Fix a potential hang in rename(2) due to a sharing violation.

- Fix some problems with tty process groups.

- Make sure that the random number generator is seeded on a per-thread basis.

- Try to make dynamic loading of system DLLs more foolproof.  Fix a
  potential stack corruption.

- Fix a synchronization problem in POSIX message queues.

- Fix a problem in localtime related to the TZ setting.

- Make raw disk write access work on Vista and later.

- A thread waiting for a blocking socket call can now be cancled
  using the pthread_cancel call.

- Fix bind(2) behaviour related to SO_REUSEADDR.

- Fix a bug when printing multibyte sequences broken up in multiple
  write calls.

- cygpath now returns more useful Win32 paths for OS-based devices.

Have fun,


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 Developer                      
Red Hat, Inc.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]