Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.
Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.
Stovky Indů předstíraly, že jsou neuronová síť. Vzestup a pád Builder.ai.
Při operaci Pavučina, tj. rozsáhlé diverzní akci ukrajinských bezpečnostních sil, provedené 1. června 2025, při které byly bezpilotními kvadrokoptérami napadeny ruské strategické letecké základny hluboko na území Ruské federace, byl použít [𝕏] svobodný software ArduPilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPLv3.
V polovině května uplynul jeden rok od spuštění aukcí CZ domén, které provozuje sdružení CZ.NIC. Hlavním cílem bylo zpřístupnit uvolňované domény z registru (po expiraci nebo smazání) většímu okruhu zájemců. Před spuštěním aukcí se totiž k takovým doménám dostávalo jen několik málo subjektů, které uvolňované domény „odchytávaly“ s velkou úspěšností díky automatizovaným systémům k tomu připraveným. Běžný zájemce neměl reálnou šanci
… více »UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-9 Focal, tj. deváté stabilní vydání založené na Ubuntu 20.04 Focal Fossa.
Firma Murena představila (PeerTube, YouTube) novou verzi 3.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.
Byla vydána nová verze 5.12 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Byly publikovány informace (txt) o zranitelnostech CVE-2025-5054 v Apport a CVE-2025-4598 v systemd-coredump. Lokální uživatel se může dostat k výpisu paměti programu (core dump) s SUID a přečíst si tak například /etc/shadow.
Snažím se v C napsat program, kde jsou 2 procesy propojený rourou, přičemž bych potřeboval dosáhnout takovýho chování, aby když od "zdroje" nepřicházejí žádná data, příjemce usnul a když nějaká data dorazí, tak aby se vzbudil. Snažim se to řešit pomocí select()
, ale nějak mi to nefunguje...
sesmolil jsem toto:
#include <stdio.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i, fd[2]; pid_t pid; fd_set rfds; struct timeval tv; int retval; pipe(fd); pid = fork(); if (pid > 0) { /* parent */ close(fd[0]); while(1) { i = random()%10; write(fd[1], &i, sizeof(int)); sleep(1); } } else { /* child */ close(fd[1]); FD_ZERO(&rfds); FD_SET(fd[0], &rfds); tv.tv_sec = 0; tv.tv_usec = 500; while(1) { retval = select(1, &rfds, NULL, NULL, &tv); if (retval == -1) perror("select()"); else if (retval) { printf("Data\n"); read(fd[0], &i, sizeof(int)); } else printf("No data\n"); } } return(0); }
Problém je ale ten, že to na data v rouře vůbec nereaguje (výsledkem je neustále se opakující výpis "No data"). Může mi někdo poradit, co dělám špatně, nebo jak tenhle problém případně řešit jinak? Díky
retval = select(1, &rfds, NULL, NULL, &tv);musí tam být něco jako
retval = select(fd[0]+1, &rfds, NULL, NULL, &tv);
Super, to je ono, díky moc. (Můžu se ještě s dovolením zeptat PROČ to tak musí být?).
Jelikož read() blokuje, může být nejjednodušší řešení vůbec to neřešit. Zavoláš-li read() a nejsou k disposici data, proces se tím dobrovolně vzdá svého timeslice.
Dá se to považovat za uspání, nebo se to nějak liší od toho, když v procesu pustim sleep()
. Jde o to, že to musí vyhovovat tomuto zadání:
...Proces S třídí tyto čísla. rychlostí u komparací za jednotku času a zasílá nejnižší dostupná čísla procesu C (pokud nejsou k dispozici, je proces C uspán)...
Respektivě, můžu se na tebe odkazovat při obhajově své práce?
Pokud ti někdo napíše, že máš proces uspat, tak možná chce, abys ho uspal...No já bych se určitě s nějakým select() ne**** a argumentoval bych, že spí v read() takže jsem splnil zadání
Tiskni
Sdílej: