Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Na webu IBM developerWorks vyšel článek o únicích paměti při práci s POSIXovými vlákny. Dozvíte se jak úniky vznikají, jak je detekovat a jak zabránit jejich vzniku.
Tiskni
Sdílej:
Jinými slovy, je prostě dobré vědět o pthread_cleanup_push
a pthread_cleanup_pop
.
tyhle funkce neznalPozor, s tímhle jsem měl problémy, někde to tu asi bude zahrabaný v dotazech - můžou to být makra a v GCC na linuxu@x86-64 to opravdu makra jsou.
No jasně, že jsou to makra. Právě proto, aby někdo nedělal takové prasečinky jako podmíněné pthread_cleanup_{push,pop}
a hlavně aby to nezapomněl spárovat. Vždy se dá programovat tak, aby ta dvě volání byla spárovaná.
Vlastně to nejsou funkce, ale (konkrétně na Linuxu) makra. To první končí {
a to druhé začíná }
. Aby to člověk nezapomněl spárovat.
Při použití podmínkových proměnných ve spojení s thread cancellation je tohle naprostá nezbytnost, protože zrušení vlákna při čekání na podmínkovou proměnnou vždy nakonec nechá mutex zamčený. A někdo ho musí odemknout. (V man pthread_cond_wait
je o tom celý odstavec.)
Možná to není zajímavé, ale jsou případy, kdy je to nezbytné. Típnout vlákno (pthread_cancel()
), které čeká na podmínkové proměnné, prostě nelze nijak jinak než za asistence pthread_cleanup_*()
. Jinak ten příslušný mutex už zůstane zamčený a není žádný korektní způsob, jak ho znova odemknout.
Longem prostě vyjadřuji, že mám něco dlouhého a jsem na to hrdý.