Programovací jazyk HTML.
Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.
Příkaz "opakuj donekonečna" je nově v rozporu s podmínkami používání ChatGPT. Příkaz vedl k prozrazení trénovacích dat [/.].
GNU Project Debugger aneb GDB byl vydán ve verzi 14.1. Podrobný přehled novinek v souboru NEWS. Vypíchnout lze podporu NO_COLOR a Debugger Adapter Protocol (DAP).
Byla vydána verze 5.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.4.0. Z novinek lze vypíchnout monitorování využití AMD a NVIDIA VRAM nebo sledování spotřeby energie procesorů AMD a Intel.
O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
Můj problém je v ukázce kódu níže – jakmile nastavím stdin flag O_NONBLOCK, následující výstup na stdout se po chvíli zastaví a nehodlá pokračovat. Jakmile flag na stdin zruším, vše opět funguje jak má. Je to standardní chování? Dá se ovlivnit?
Díky za každou reakci
#include <unistd.h> #include <fcntl.h> #include <stdio.h> int main(int argc, char** argv) { int flags, i; char foo[]= "% 6d 012345678901234567890123456789012345678901234567890123456789\n"; // vypise se vse for (i= 0; i < 10000; i++) printf(foo, i); // vypise se puts("\nklavesu..."); fgetc(stdin); flags= fcntl(fileno(stdin), F_GETFL, 0); fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK); // NEvypise se vse for (i= 0; i < 10000; i++) printf(foo, i); // NEvypise se ani tohle puts("\n*** KONEC ***"); fcntl(fileno(stdin), F_SETFL, flags); // tohle se uz vypise puts("\nklavesu..."); fgetc(stdin); // vypise se vse for (i= 0; i < 10000; i++) printf(foo, i); // vypise se puts("\n*** KONEC ***"); return (0); }
using standard I/O with nonblocking descriptors, a recipe for disaster(ale celé som to nečítal, takže neviem, v čom je ten problém) Tento program dokazuje, že zmena stdin na neblokujúci, zmení aj stdout a stderr (aspoň u mňa).
#include <unistd.h> #include <fcntl.h> #include <stdio.h> int main(int argc, char** argv) { int flags; fprintf(stdout, "stdin: %s\n", (fcntl(fileno(stdin), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); fprintf(stdout, "stdout: %s\n", (fcntl(fileno(stdout), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); fprintf(stdout, "stderr: %s\n", (fcntl(fileno(stderr), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); flags= fcntl(fileno(stdin), F_GETFL, 0); fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK); fprintf(stdout, "stdin: %s\n", (fcntl(fileno(stdin), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); fprintf(stdout, "stdout: %s\n", (fcntl(fileno(stdout), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); fprintf(stdout, "stderr: %s\n", (fcntl(fileno(stderr), F_GETFL, 0) & O_NONBLOCK) ? "NONBLOCK" : "BLOCK"); fcntl(fileno(stdin), F_SETFL, flags); return (0); }
Tiskni
Sdílej: