Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
sleep(3)
alebo alarm(2)
sleep()
.
while( not the time ) sleep(10); ...Nejakej cas procesoru to sice zere, ale to ze se jednou za 10s provede tahle jednoducha smycka dnestni procesory nezatizi...
Pokud chceš uspávat jiný proces, lze se na něj připojit přes ptrace(2), čímž ho efektivně zastavíš, pak si ve svém procesu pospat, jak dlouho potřebuješ, a nakonec opět přes ptrace() se od něj odpojit, čímž se opět rozeběhne.
Případně, což je přenositelnější, ale nevím, nakolik je možné se tomu bránit, zaslat signál SIGSTOP a potom SIGCONT.
ako chcete vykonať obsluhu signálu, ak nechcete, aby sa proces rozbehol
Úplně stejně, jako když proces je v přerušitelném spánku a dostane signál. Obsluhu totiž volá jádro a po vykonání obsluhy se řízení vrací jádru. To teprve pak rozhodne, zda proces přesune do fronty runable nebo jej opět uloží k ledu. Ano, přísně vzato, když jede obsluha, tak také běží proces. Myslel jsem rozběhnout program procesu v místě uspání (tedy mimo obsluhu).
sleep()
doplněné o smyčku pro případ přerušení signálem připadá podstatně jednodušší a praktičtější.
sleep()
může skončit předčasně, pokud přijde neignorovaný signál. Obvykle se pro tyto účely používá makro TEMP_FAILURE_RETRY()
nebo příznak SA_RESTART
, ale tady to nejde, protože je potřeba při opakovaném volání upravit parametr.
To není uspání ale zastavení.
Proces je runable, nebo není. Technicky v tom rozdíl není.
Tazatel se ptal na to, jak uspat proces "zevnitř"
To z dotazu mně není zřejmé. Opravdu jsem jej pochopil tak, že autor chce řídit jiný proces, ne ten svůj.
Proces je runable, nebo není. Technicky v tom rozdíl není.
Technicky v tom rozdíl je. Uspání je stav S
(proces čeká na dokončení syscallu (který může být přerušen signálem), pak bude pokračovat), zastavení T
(proces je administrativně zastaven zvenčí a pokračovat bude teprve tehdy, až dostane signál CONT
).
sleep()
resp. usleep()
nebo nanosleep()
jako nejvhodnější řešení.
Už rozumím. Já jsem si vyložil slovo „uspat“ příliš široce. Samozřejmě, že tak, jak to říkáte, to je.
Tiskni
Sdílej: