Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.
Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá
… více »86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.
Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.
V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.
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 26.5.1. Přehled novinek na GitHubu.
Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.
Zdravim,
Mel bych dotaz na zasilani signalu v linuxu. Jde mi o toto. Pokud napriklad vlakno hojne vyuziva IO operace tak se mu jaksi tezko da poslat signal.
Napriklad kdyz date do smycky cout << "Neco << endl.
Jde nejak definovat aby signal byl dorucenej v kazdym pripade ?
Dekuji za odpoved.
kill.
Asi by bylo lepší podroběji popsat situaci, ukázat kód...
read() nebo write(), které mezi ně zrovna patří.
Tomu nerozumím, v manu se např. u read píše:
If a read() is interrupted by a signal before it reads any data, it shall return -1 with errno set to [EINTR].
read() zrovna patří mezi syscally, které se chovají tak, jak Messa tvrdí. Pouze jsem upozorňoval, že se tak nechovají všechny syscally, jak by se z jeho příspěvku mohlo zdát.
Aha, já to pochopil opačně, omlouvám se.
Hmm a neni jeste nejak zkomplikovano tim, ze zarizeni v unixu jsou rozdelana na rychla a pomala? Na neco takoveho si matne zvpominam z prednasek z Unixu, ale uz si nedokazu presne vzpomenout cim se ta zarizeni lisi.
pthread_sigmask(). Pokud např. nastavíte signál jako blokovaný všem threadům kromě jednoho, pak ho zpracuje právě ten jeden. Druhou možností je použít pthread_kill() a poslat signál přímo konkrétnímu threadu.
No ukazka kodu je jednoducha.
Napriklad:
#include <iostream>
using namespace std;
int main()
{
while(true)
{
coud << "Hello World" << endl;
}
}
a zkuste si to zabit pres ctr+c trva to pekne dlouho.
O co mi jde. Pisu managera kterej bude obsluhovat vlakna a nastavovat jim urcitej cas, ktery budou mit na vyrizeni sitovyho pozadavku.
Udelal sem to takto. V hlavni smycce managera ma sleep(1) a tam projde kontainer tech vlaken ktery obsluhuje. Pokud vyprsel cas posle mu signal. Ja ho v tom vlakne muzu odchytnout obslouzit zavrit socket atp.
Jenze pokud tech vlaken bude v manageru vic a budou se chovat tak jako viz nahore tak ten signal vubec neposlu respektive se neobslouzi.
Nejaky napad jak to udelat lip ?
Diky
Hmm nejsem si jistej jestli jsou signaly to pravy reseni pro komunikaci mezi vlakny. Zkus se podivat na knihovnu apr (apache portable library). Ta to sice resi trochu slozite, ale zase to funguje i na woknach.
Kouknete se na tohle. apr knihovna to vlastne resi dost neumele. Komunikaci mezi vlakny je mozne vyresit bez signalu, bez syscallu, bez zamku. Cele je to pak mnohem rychlejsi. http://www.gamedev.net/community/forums/topic.asp?topic_id=511635
Implementace na linuxu je bohuzel dost pracna.
a zkuste si to zabit pres ctr+c trva to pekne dlouho.
U mne bez pozorovatelného zpoždění. Ale i v případě, že to máte pomalé, problém vůbec nemusí být (a téměř jistě není) v tom, že by thread nedostával signály.
a zkuste si to zabit pres ctr+c trva to pekne dlouho.Tu je ale problém v tom, že dlho beží ten výpis na obrazovku. Skús to presmerovať do súboru - koľko potrvá od stlačenia Ctrl+C po skončenie procesu. Ešte markantnejšie to je keď to pustíš na stroji, na ktorý si prihlásený po sieti.
(jak již bylo zmíněno)
Tiskni
Sdílej: