Após mais de um ano de desenvolvimento, a Red Hat lançou a versão estável do pacote Cygwin 3.2.0, que inclui uma biblioteca DLL para emular a API básica do Linux no Windows, permitindo compilar programas criados para Linux com mínimas modificações. O pacote também inclui utilitários Unix padrão, aplicativos de servidor, compiladores, bibliotecas e arquivos de cabeçalho compilados diretamente para execução no Windows.
Principais mudanças:
- O suporte ao pseudo-terminal foi reformulado, agora sendo ativado apenas ao iniciar aplicativos que não fazem parte do cygwin.
- Adicionado um novo API C11 para trabalhar com threads: 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.
- Na implementação do console, foi adicionado um novo thread para lidar com combinações de teclas, como Ctrl-Z (VSUSP), Ctrl-\ (VQUIT), Ctrl-S (VSTOP), Ctrl-Q (VSTART), bem como o sinal SIGWINCH. Anteriormente, essas combinações e SIGWINCH eram processadas apenas durante a chamada das funções read() ou select().
- A função fchmodat() ganhou suporte limitado para a flag AT_SYMLINK_NOFOLLOW.
- Reconhecimento de sockets AF_UNIX fornecidos pela plataforma Windows foi implementado.
- O limite de processos filhos foi elevado de 256 para 5000 em sistemas de 64 bits e até 1200 em sistemas de 32 bits.
Fonte: opennet.ru
