Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
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: