Nach mehr als einem Jahr Entwicklung hat die Firma Red Hat die stabile Version des Pakets Cygwin 3.2.0 veröffentlicht, das eine DLL-Bibliothek zur Emulation der grundlegenden Linux-API unter Windows enthält. Dadurch können für Linux entwickelte Programme mit minimalen Änderungen kompiliert werden. Das Paket umfasst außerdem direkt für Windows kompilierte Standard-Unix-Dienstprogramme, Serveranwendungen, Compiler, Bibliotheken und Header-Dateien.
Hauptänderungen:
- Die Unterstützung der Pseudokonsole wurde überarbeitet und wird jetzt nur noch aktiviert, wenn Anwendungen nicht aus dem Cygwin-Framework gestartet werden.
- Eine neue C11-API zur Arbeit mit Threads wurde hinzugefügt: 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 die Konsolenuimplementation wurde ein neuer Thread zur Verarbeitung von Tastenkombinationen hinzugefügt, wie z.B. Ctrl-Z (VSUSP), Ctrl-\ (VQUIT), Ctrl-S (VSTOP), Ctrl-Q (VSTART) sowie das Signal SIGWINCH. Zuvor wurden diese Kombinationen und SIGWINCH nur während des Aufrufs der Funktionen read() oder select() verarbeitet.
- Die Funktion fchmodat() hat eine begrenzte Unterstützung für das Flag AT_SYMLINK_NOFOLLOW erhalten.
- Die Erkennung von AF_UNIX-Sockets, die von der Windows-Plattform bereitgestellt werden, wurde sichergestellt.
- Die Beschränkung auf die Anzahl der Kindprozesse wurde von 256 auf 5000 in 64-Bit-Systemen und auf 1200 in 32-Bit-Systemen angehoben.
Quelle: opennet.ru
