abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 10:33 | Komunita

V pondělí měl na YouTube online premiéru otevřený krátký 2D film Hero vytvořený v 3D softwaru Blender. Cílem stejnojmenného projektu Hero je vylepšit nástroj Grease Pencil (tužka) v Blenderu 2.8.

Ladislav Hagara | Komentářů: 3
včera 23:22 | Nová verze

Byla vydána verze 4.0 kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Přehled novinek v Changelogu (GitHub).

Ladislav Hagara | Komentářů: 0
včera 17:22 | Komunita

Včera vydanou hru Rise of the Tomb Raider pro Linux lze do pondělí 23. dubna koupit na Steamu s 67% slevou. Místo 49,99 € za 16,49 €.

Ladislav Hagara | Komentářů: 0
včera 16:11 | Komunita

Na Humble Bundle lze získat počítačovou hru Satellite Reign (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 2
včera 15:44 | Zajímavý software

Společnost Apple koupila před třemi lety společnost FoundationDB vyvíjející stejnojmenný NoSQL databázový systém FoundationDB (Wikipedie). Včera byl tento systém uvolněn jako open source pod licencí Apache 2.0. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Nová verze

Po dva a půl roce od vydání verze 5.7 oznámila společnost Oracle vydání nové major verze 8.0 (8.0.11) databázového systému MySQL (Wikipedie). Přehled novinek v poznámkách k vydání. Zdrojové kódy komunitní verze MySQL jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 2
19.4. 14:44 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 151. brněnský sraz, který proběhne v pátek 20. 4. od 18:00 hodin v restauraci Benjamin na Drobného 46.

Ladislav Hagara | Komentářů: 0
19.4. 13:33 | Nová verze

Byla vydána verze 18.04.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 0
19.4. 13:11 | Nová verze

Bylo oznámeno vydání nové stabilní verze 1.26 a beta verze 1.27 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
19.4. 12:55 | Komunita

Dle plánu byla dnes vydána hra Rise of the Tomb Raider (Wikipedie) pro Linux. Koupit ji lze za 49,99 €.

Ladislav Hagara | Komentářů: 3
Používáte na serverech port knocking?
 (3%)
 (7%)
 (46%)
 (26%)
 (17%)
Celkem 338 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Dotaz: Knihovna s event looper

    5.2.2016 13:31 Petr
    Knihovna s event looper
    Přečteno: 235×
    Pro svůj projekt hledám knihovnu implementující nějakou smyčku událostí, v C.

    Měla by umět pollovat file descriptory a zavolat příslušný callback. Je mi jedno, jestli bude používat poll nebo epoll, moc jich nebude. Měla by obsahovat prioritní frontu, kam můžete přidat callback. Pro případ, kdy by tohle nebylo thread safe, tak ještě další obyčejnou frontu, kam můžete přidat callback z jiného vlákna a bude spuštěn z vlákna, ve kterém běží smyčka. Podpora časovačů, rozlišení stačí na milisekundy.

    Co by neměla mít. Jiné závislosti než C knihovna a rozumně starý linuxový kernel (řekněme 4.0+). Neměla by mi nutit nějaké abstrakce nad dalšími věcmi jako vlákna, mutexy, apod, nejlépe, kdyby je neměla vůbec.

    Neměla by moc alokovat, nejlépe jen při jejím vytvoření. Např. přidání callbacku by mělo být no-fail za předpokladu, když už mám vytvořenou strukturu pro ten callback, třeba i na zásobníku (kdy pak je moje povinost zajistit, že žije dost dlouho).

    Zkoušel jsem se podívat na libuv. Ale. Příliš mnoho abstrakcí nad nepotřebnými věcmi (vlákna, soubory). Používá identifikátory vyhrazené pro implementaci překladače a C knihovny (dvojtá podtržítka, struktury s _t na konci). Spousta zbytečných vlastností. Volá na některých místech abort(), když něco selže, to je nepřijatelné. Nedovoluje mi zavolat callback v rámci smyčky běžící v druhém vlákně (uv_async nedostačuje, ten musíte předvytvořit ve vlákně, kde smyčka běží a v durhém vlákně ho smíte jen poslat a né modifikovat). Má fallbacky pro různá systémová volání, když např. není podporován někde O_CLOEXEC či novější systémové volání, kde se dá tento flag předat, udělá fallback na staré a CLOEXEC nastaví až potom přes fnctl. To je nepřijatelné, protože mi vyváří race-condition ve vícevláknové aplikaci, správně je vrátit chybu.

    Přemýšlím napsat něco vlastního, ale pokud už něco existuje, bylo by to lepší.

    Odpovědi

    5.2.2016 15:39 vbar
    Rozbalit Rozbalit vše Re: Knihovna s event looper
    libevent
    6.2.2016 00:27 Jardík
    Rozbalit Rozbalit vše Re: Knihovna s event looper
    Kdyby nevadila ta alokace, tak bych doporučil systemd, respektive libsystemd a jeho součást sd-event. Bohužel to alokuje.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.