След повече от година разработка, компанията Red Hat публикува стабилна версия на пакета Cygwin 3.2.0, включваща DLL-библиотека за емулация на основния Linux API в Windows, която позволява с минимални промени да се компилират приложения, създадени за Linux. Пакетът включва и стандартни Unix утилити, сървърни приложения, компилатори, библиотеки и заглавни файлове, направени специално за работа в Windows.
Основни промени:
- Поддръжката на псевдотерминал е преработена и сега се активира само при стартиране на приложения извън набора на cygwin.
- Добавен е нов C11 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.
- В реализацията на конзолата е добавен нов поток за обработка на клавишни комбинации, като Ctrl-Z (VSUSP), Ctrl-\ (VQUIT), Ctrl-S (VSTOP), Ctrl-Q (VSTART), а също и SIGWINCH сигнал. По-рано тези комбинации и SIGWINCH се обработваха само по време на извикване на функциите read() или select().
- В функцията fchmodat() е добавена ограничена поддръжка на флага AT_SYMLINK_NOFOLLOW.
- Осигурено е разпознаване на сокети AF_UNIX, предоставени от платформата Windows.
- Ограничението на броя на дъщерните процеси е увеличено от 256 на 5000 за 64-битови системи и на 1200 за 32-битови.
Източник: opennet.ru
