Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.
Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.
Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.
Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
fork7.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
main () {
printf("alfa\n");
fork();
fork();
fork();
}
Skompilujem ho takto
gcc fork7.c -o fork7
Keď spustím program ./fork7, vypíše alfa a skončí. To je očakávané a žiadúce.
Keď ho ale spustím takto:
./fork7 > out.txt
V súbore out.txt mám riadok alfa osemkrát! Chová sa to tak, ako keby výpis bol na konci programu, pod forkami. Je to zle, ale rozumiem tomu. Prečo to ale vypisuje potom na konzolu alfa iba raz?
Řešení dotazu:
alfa\n, a protože je tam konec řádku, tak se buffer flushne (zapíše na výstup). Provede se fork a při ukončení každého dítěte se buffer znovu flushne. Ale protože tam už nic není, tak se nic nevypíše.
Při zápisu do souboru se zapíše do bufferu alfa\n, ale to je menší než blok (standardně to bývá jedna stránka), tak se to neflushne. Provede se fork, všechny děti tak získají kopii toho bufferu, který se při ukončení flushne. Ale teď prázdný není, každý proces má svoji vlastní kopii a tu vypíše.
Stejný efekt (vypíše se 8×) uvidíte i při zápisu na konzoli, pokud ve vypisovaném textu nebude znak ukončení řádku.
Tiskni
Sdílej: