Před rokem převzala Digitální a informační agentura (DIA) vlastnictví a provoz jednotné státní domény gov.cz. Nyní spustila samoobslužný portál, který umožňuje orgánům veřejné moci snadno registrovat nové domény státní správy pod doménu gov.cz nebo spravovat ty stávající. Proces nové registrace, který dříve trval 30 dní, se nyní zkrátil na několik minut.
IBM kupuje za 11 miliard USD (229,1 miliardy Kč) firmu Confluent zabývající se datovou infrastrukturou. Posílí tak svoji nabídku cloudových služeb a využije růstu poptávky po těchto službách, který je poháněný umělou inteligencí.
Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.
Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.
Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.
Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.
Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.
FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.
Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.
os.mkfifo('/tmp/.powerman_fifo');
self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
Když spustím tento kód, tak mi to hlásí:
Traceback (most recent call last):
File "/media/JOOMLADEV/eclipse-src/python/PowerMan/src/powermangui.py", line 160, in <module>
pg=PowerManGui();
File "/media/JOOMLADEV/eclipse-src/python/PowerMan/src/powermangui.py", line 15, in __init__
self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
OSError: [Errno 6] No such device or address: '/tmp/.powerman_fifo'
Přitom ta pipe existuje:
ls -al /tmp/.powerman_fifo prw-r--r-- 1 bartmann bartmann 0 2009-06-28 17:33 /tmp/.powerman_fifo
Nevíte kde dělám chybu?
Za rady předem děkuji.man 7 fifo říká tohle:
A process can open a FIFO in non-blocking mode. In this case, opening for read only will succeed even if no-one has opened on the write side yet; opening for write only will fail with ENXIO (no such device or address) unless the other end has already been opened.
OSError 6 je opravdu ENXIO:
>>> import errno >>> errno.ENXIO 6
self.state=os.read(self.pipe, 1000); OSError: [Errno 11] Resource temporarily unavailable
Přitom na mám rouru v rodiči otevřenou a v dokumentaci jsem vyčetl, že při čtení z neblokující roury má vrátit 0 bytů.
Postupuju, tak že si nejprve vytvořím instanci třídy PowerMan, v jejímž konstruktoru otvírám PIPU pro čteční, následně otevírám rouru pro zápis, volám fork() a v potomkovi volám metodu PowerMan.run, kde ve while 1: z roury čtu:
if os.path.exists('/tmp/.powerman_fifo')==False:
os.mkfifo('/tmp/.powerman_fifo');
pm=powerman.PowerMan();
self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
self.state=True;
pid=os.fork();
if pid==0:
pm.run();
Metoda run() třídy PowerMan:
def run(self):
while 1:
self.state=os.read(self.pipe, 1000);
print self.state;
#Zpracovat obsah PIPE
if self.quit==True:
break;
if self.state==True:
self.get_idle();
self.get_idle_workaround();
if int(self.idle)>=int(self.stime):
pid=os.fork();
if pid==0:
self.idle=0;
os.execl(self.prog);
else:
os.wait();
time.sleep(1);
Jestli jde jen o komunikaci rodičovského procesu s potomkem, není k tomu potřeba named pipe. Taková jednoduchá jednosměrná komunikace:
import fcntl, os, time
(rd, wr) = os.pipe()
if os.fork() == 0:
os.close(wr)
fcntl.fcntl(rd, fcntl.F_SETFL, os.O_NONBLOCK)
print 'child: waiting for input'
while True:
try:
data = os.read(rd, 1000)
if data:
print 'child: received:', data
except OSError:
pass
else:
os.close(rd)
while True:
data = raw_input('parent:> ')
os.write(wr, data)
time.sleep(.3) # aby se nesleval vystup potomka s rodicem
Ukázka:
$ python pipe.py child: waiting for input parent:> hello child: received: hello parent:> how are you? child: received: how are you? parent:>
OSError 11 je v pořádku, je to obyčejné EAGAIN/EWOULDBLOCK (viz www.gnu.org/s/libc/manual/html_node/Error-Codes.html#index-EAGAIN-97).
Tiskni
Sdílej: