Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.
Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.
Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.
Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.
Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.
Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »
int main(void)
{
int pipe_fd;
int ret;
int n;
struct pollfd ufds[1];
char buff[32];
pipe_fd = mkfifo("./pipe",660);
pipe_fd = open("./pipe", O_RDONLY | O_NONBLOCK, 660);
ufds[0].fd = pipe_fd;
ufds[0].events = POLLIN;
ufds[0].revents = 0;
while(1)
{
ret = poll(ufds, 1, 1000);
if (ret == -1)
{
printf("poll error\n");
close (pipe_fd);
exit (1);
}
else if (ret == 0)
printf("no data...\n");
else
{
if (ufds[0].revents == POLLIN)
{
do
{
n = read(pipe_fd, buff, 32);
if (n == -1)
{
printf("read error\n");
break;
}
else
printf("recv (%d)\n",n);
} while (n != 0);
}
}
}
close(pipe_fd);
return(0);
}
slave proces:
int main(void)
{
int pipe_fd;
char buff[32];
pipe_fd = open("./pipe",O_WRONLY | O_NONBLOCK ,660);
strcpy(buff, "ahoj");
write(pipe_fd, buff, 5);
close(pipe_fd);
return(0);
}
Nevite kde je problem?
Dekuji.
do
{
// Tady Ti chybí poll() nebo select(), který musíš použít vždy,
// když máš file descriptor otevřený v neblokujícím režimu,
// jelikož ho tam nemáš fce read() je okamžitě opuštěna a proto
// Ti to "žere" procesor
n = read(pipe_fd, buff, 32);
if (n == -1)
{
printf("read error\n");
break;
}
else
printf("recv (%d)\n",n);
} while (n != 0);
Tiskni
Sdílej: