abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:33 | Nová verze

    Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 05:11 | Bezpečnostní upozornění

    Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.

    Ladislav Hagara | Komentářů: 11
    včera 02:22 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.

    Ladislav Hagara | Komentářů: 2
    včera 01:22 | IT novinky

    Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.

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

    Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinekpoznámkách k vydání.

    Fluttershy, yay! | Komentářů: 2
    25.7. 17:44 | Zajímavý článek Ladislav Hagara | Komentářů: 2
    25.7. 17:22 | Nová verze

    Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.

    Ladislav Hagara | Komentářů: 0
    25.7. 17:11 | Nová verze

    Byla vydána verze 1.80.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.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:11 | IT novinky

    Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.

    Ladislav Hagara | Komentářů: 23
    25.7. 13:11 | IT novinky

    Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: [Qt] Notifikacia o skonceni QSqlQuery

    19.10.2010 10:30 kovariadam | skóre: 12 | blog: biased | Košice/Brno
    [Qt] Notifikacia o skonceni QSqlQuery
    Přečteno: 100×
    Zdravim, Robim na serverovej aplikacii, ktora potrebuje spustat QSqlQuery z viacerych vstupov, vo viacerych vlaknach. Mam to urobene takto: DataSession: QObject - tato trieda(jedna vramci aplikacie) prida EfsSqlQuery do QQueue v QueryCommiteri: QThread(jeden vramci aplikacie), ma na starosti postupne vyberat dotazi z fronty a spustat ich na pozadi. EfsSqlQuery, QObject, obsahuje 1 QSqlQuery objekt, a jednu metodu, exec(), ktora spusti query volanim QSqlQuery.exec() a emituje signal commited(bool). Vyhodou tejto triedy oproti QSqlQuery je iba v tom, ze dokaze emitovat signal, kedze je potomkom QObject-u narozdiel od QSqlQuery.

    Signal chcem chytit takto, v inom(hlavnom) vlakne uz: connect(m_query, SIGNAL(commited(bool)), this, SLOT(process_stage_2(bool)));

    a potom zavolam: dataSession.commitQuery(m_query);

    dataSession ho prida do fronty queryCommiteru a ten ked dojde na to rada tak ma zavolat EfsSqlQuery.exec()

    Ten slot process_stage_2(bool) vsak nikdy neni zavolany.

    Pokusim sa pridat relevantny kod: Kod hlavneho vlakna:
    connect(m_query.data(), SIGNAL(commited(bool)), this, SLOT(process_stage_2(bool)));
     
    dataSession.commitQuery(m_query);
    

    DataSession:
    void sk_efs_server::DataSession::commitQuery(QSharedPointer<EfsSqlQuery> query)
    {
        sqlMutex->lock();
        sqlQueue->append(query);
        sqlMutex->unlock();
     
        sqlQueueFull->wakeAll();
    }
    

    QueryCommiter:

    void sk_efs_server::QueryCommiter::run()
    {
        QSharedPointer<EfsSqlQuery> query;
     
        forever
        {
            sqlMutex->lock();
            sqlQueueFull->wait(sqlMutex.data());
            query = sqlQueue->dequeue();
            sqlMutex->unlock();
     
            query->exec();
        }
     
        exec();
    }

    EfsSqlQuery:

    bool sk_efs_server::EfsSqlQuery::exec()
    {
        bool cted = m_query->exec();
     
        emit commited(cted);
     
        return cted;
    }

    Poznamka: Qt verzie 4.7, skusal som pri pripajani signalu connectom pridat aj argument Qt::QueuedConnection, nepomohlo to, ale malo by to byt aj tak default, ak je signal z ineho vlakna.

    Neviete mi prosim poradit preco ten slot neni nikdy zavolany?

    Dakujem

    Na otázku zatím nikdo bohužel neodpověděl.

    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.