public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST)
@ 2021-03-09 11:01 Corinna Vinschen via Cygwin-announce
  2021-03-10  3:38 ` André Bleau
  0 siblings, 1 reply; 5+ messages in thread
From: Corinna Vinschen via Cygwin-announce @ 2021-03-09 11:01 UTC (permalink / raw)
  To: cygwin

The following packages have been uploaded to the Cygwin distribution:

* cygwin-3.2.0-0.1
* cygwin-devel-3.2.0-0.1
* cygwin-doc-3.2.0-0.1

This is the beginning of the public test cycle for a new major release
with a couple of changes.  Please report problems or regressions compared
to Cygwin 3.1.7 to the public mailing list cygwin AT cygwin DOT com.


What's new:
-----------

- Revamped pseudo console support.  Conditionally activating it only when
  a non-cygwin application is run.

- New C11 threads API: call_once, cnd_broadcast, cnd_destroy, cnd_init,
  cnd_signal, cnd_timedwait, cnd_wait, mtx_destroy, mtx_init, mtx_lock,
  mtx_timedlock, mtx_trylock, mtx_unlock, thrd_create, thrd_current,
  thrd_detach, thrd_equal, thrd_exit, thrd_join, thrd_sleep, thrd_yield,
  tss_create, tss_delete, tss_get, tss_set.

- In cygwin console, new thread which handles special keys/signals such
  as Ctrl-Z (VSUSP), Ctrl-\ (VQUIT), Ctrl-S (VSTOP), Ctrl-Q (VSTART) and
  SIGWINCH has been introduced. There have been a long standing issue
  that these keys/signals are handled only when app calls read() or
  select(). Now, these work even if app does not call read() or select().

- fchmodat(2) now has limited support for the AT_SYMLINK_NOFOLLOW flag.

- Cygwin now recognizes native Windows AF_UNIX sockets (as regular
  files, not as socket files).  This allows tools like 'ls' and 'rm'
  to work.


What changed:
-------------

- Allow ~5000 child processes per process on 64 bit, ~1200 child processes
  per process on 32 bit.  So far, only 256 child processes per process were
  supported.

- A few FAQ updates.

- Have tmpfile(3) make use of Win32 FILE_ATTRIBUTE_TEMPORARY via open(2)
  flag O_TMPFILE.
  Addresses: https://cygwin.com/pipermail/cygwin/2021-January/247304.html

- Utilize Windows 10 1809 FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
  flag to allow simpler unlink of files with DOS readonly flags set.

- getdtablesize(3), sysconf(_SC_OPEN_MAX), and
  getrlimit(RLIMIT_NOFILE) now return the true limit on the number of
  open descriptors, 3200.  Previously they returned the current size
  of Cygwin's internal file descriptor table, which can grow
  dynamically.

- facl(2) now fails with EBADF on a file opened with O_PATH.


Bug Fixes
---------

- Iterate at least 4 times over pthread_key_t destructors per POSIX.

- The pthread_yield declaration in pthread is now visible by default
  or when defining _BSD_SOURCE, too.

- Fix SEGV in modfl call.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-August/246056.html

- Fix a collision of offical and internally used file flags.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-September/246174.html

- Fix assertion failure on an invalid path under /proc/<pid>/fd/.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-September/246160.html

- Fix crash on stat(2)'ing /dev/ptmx on 32 bit.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-September/246218.html

- Fix return value of sqrtl on negative infinity.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-October/246606.html

- Fix a path handling problem if there is a WSL symlink in PATH.
  Addresses: https://cygwin.com/pipermail/cygwin/2020-December/246938.html

- Fix a bug in fstatat(2) on 32 bit that could cause it to return garbage.
  Addresses: https://cygwin.com/pipermail/cygwin/2021-January/247399.html

- Fix the errno when a path contains .. and the prefix exists but is
  not a directory.
  Addresses: https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00214.html

- Fix the return value when ptsname_r(3) is called with a bad file descriptor
  Addresses: https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00245.html

- Fix path handling in case the Cygwin installation dir is accessed via
  a Windows junction point.
  Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-February/012054.html

- Fix potential handle leaks when dup'ing descriptors
  Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-February/012041.html

- Fix a bug that could cause fstat(2) to return incorrect results on a FIFO.

- Fix some system calls on AF_LOCAL sockets that are not socket files.
  Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-February/012066.html

- Fix access to block devices under /proc/sys.
  Addresses: https://sourceware.org/pipermail/cygwin-patches/2020q4/010843.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST)
  2021-03-09 11:01 [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST) Corinna Vinschen via Cygwin-announce
@ 2021-03-10  3:38 ` André Bleau
  2021-03-10 11:06   ` Corinna Vinschen
  2021-03-10 11:31   ` Takashi Yano
  0 siblings, 2 replies; 5+ messages in thread
From: André Bleau @ 2021-03-10  3:38 UTC (permalink / raw)
  To: cygwin

Hi,

Last year, I reported a problem about console output with pcon support. For the simple test program, see:
https://cygwin.com/pipermail/cygwin/2020-May/244742.html

I was told (https://cygwin.com/pipermail/cygwin/2020-May/244745.html) that I need to inset the following lines in my program:

#include <windows.h>
...
DWORD mode;
GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &mode);
mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), mode);

It worked. 

Now, I just downloaded cygwin 3.2.0-0.1 and retested my program with and without the above lines. Both work correctly.

Are the above lines no longer necessary? In that case, it could be useful to say so in the release notes.

Thanks to contributors for the good work.

- André Bleau

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST)
  2021-03-10  3:38 ` André Bleau
@ 2021-03-10 11:06   ` Corinna Vinschen
  2021-03-10 11:31   ` Takashi Yano
  1 sibling, 0 replies; 5+ messages in thread
From: Corinna Vinschen @ 2021-03-10 11:06 UTC (permalink / raw)
  To: cygwin

On Mar 10 03:38, André Bleau via Cygwin wrote:
> Hi,
> 
> Last year, I reported a problem about console output with pcon support. For the simple test program, see:
> https://cygwin.com/pipermail/cygwin/2020-May/244742.html
> 
> I was told (https://cygwin.com/pipermail/cygwin/2020-May/244745.html) that I need to inset the following lines in my program:
> 
> #include <windows.h>
> ...
> DWORD mode;
> GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &mode);
> mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
> SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), mode);
> 
> It worked. 
> 
> Now, I just downloaded cygwin 3.2.0-0.1 and retested my program with and without the above lines. Both work correctly.
> 
> Are the above lines no longer necessary? In that case, it could be
> useful to say so in the release notes.

If you have a concise, one-sentence description, I'll add it to the
release notes.


Thanks,
Corinna

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST)
  2021-03-10  3:38 ` André Bleau
  2021-03-10 11:06   ` Corinna Vinschen
@ 2021-03-10 11:31   ` Takashi Yano
  2021-03-10 13:43     ` André Bleau
  1 sibling, 1 reply; 5+ messages in thread
From: Takashi Yano @ 2021-03-10 11:31 UTC (permalink / raw)
  To: cygwin

On Wed, 10 Mar 2021 03:38:52 +0000
André Bleau wrote:
> Hi,
> 
> Last year, I reported a problem about console output with pcon support. For the simple test program, see:
> https://cygwin.com/pipermail/cygwin/2020-May/244742.html
> 
> I was told (https://cygwin.com/pipermail/cygwin/2020-May/244745.html) that I need to inset the following lines in my program:
> 
> #include <windows.h>
> ...
> DWORD mode;
> GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &mode);
> mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
> SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), mode);
> 
> It worked. 
> 
> Now, I just downloaded cygwin 3.2.0-0.1 and retested my program with and without the above lines. Both work correctly.
> 
> Are the above lines no longer necessary? In that case, it could be useful to say so in the release notes.

This is due to behaviour change of pseudo console itself.
In Win10 20H2 (and perhaps also in 2004),
ENABLE_VIRTUAL_TERMINAL_PROCESSNG is set by default in pseudo
console. However, older Win10 such as 1809, this flag is not
set. Therefore, you need to set this flag explicitly.

Also, in command prompt, this flag is not set even with Win10
20H2. So, I recommend to keep this flag set for portability.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST)
  2021-03-10 11:31   ` Takashi Yano
@ 2021-03-10 13:43     ` André Bleau
  0 siblings, 0 replies; 5+ messages in thread
From: André Bleau @ 2021-03-10 13:43 UTC (permalink / raw)
  To: cygwin

Takashi Yano wrote:

>On Wed, 10 Mar 2021 03:38:52 +0000
>André Bleau wrote:
>> Hi,
>> 
>> Last year, I reported a problem about console output with pcon support. For the simple test program, see:
>> https://cygwin.com/pipermail/cygwin/2020-May/244742.html
>> 
>> I was told (https://cygwin.com/pipermail/cygwin/2020-May/244745.html) that I need to inset the following lines in my program:
>> 
>> #include <windows.h>
>> ...
>> DWORD mode;
>> GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &mode);
>> mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
>> SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), mode);
>> 
>> It worked. 
>> 
>> Now, I just downloaded cygwin 3.2.0-0.1 and retested my program with and without the above lines. Both work correctly.
>> 
>> Are the above lines no longer necessary? In that case, it could be useful to say so in the release notes.
>
>This is due to behaviour change of pseudo console itself.
>In Win10 20H2 (and perhaps also in 2004),
>ENABLE_VIRTUAL_TERMINAL_PROCESSNG is set by default in pseudo
>console. However, older Win10 such as 1809, this flag is not
>set. Therefore, you need to set this flag explicitly.
>
>Also, in command prompt, this flag is not set even with Win10
>20H2. So, I recommend to keep this flag set for portability.

Hi Takashi,

I use Win10 2004 and I can confirm that my program needs those lines when run from cmd but not from mintty.
So that behavior change was caused by a change in Win10, not in cygwin.

As for cygwin 3.2.0-0.1, then I can only report for now that:
 make v4.3 works correctly,
 x86_64-w64-mingw32-c++ v10.2.0 works correctly,
 mintty v3.4.6 works correctly,
 bash v4.4.12(3) works correctly,
 my simple C++ console program works correctly.

-André Bleau

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-03-10 13:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-09 11:01 [ANNOUNCEMENT] cygwin 3.2.0-0.1 (TEST) Corinna Vinschen via Cygwin-announce
2021-03-10  3:38 ` André Bleau
2021-03-10 11:06   ` Corinna Vinschen
2021-03-10 11:31   ` Takashi Yano
2021-03-10 13:43     ` André Bleau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).