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 06:00 | Zajímavý projekt

    Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | IT novinky

    Společnost IBM představila novou generaci svých serverů: IBM Power11.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Komunita

    Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.

    Ladislav Hagara | Komentářů: 7
    včera 11:33 | Nová verze

    Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Pozvánky

    Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.

    … více »
    Heřmi | Komentářů: 0
    včera 03:44 | Nová verze

    Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.

    Fluttershy, yay! | Komentářů: 14
    7.7. 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

    Ladislav Hagara | Komentářů: 0
    7.7. 13:22 | IT novinky

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 371 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Cekani procesu na signal

    22.4.2008 10:38 Vladimir Duraj
    Cekani procesu na signal
    Přečteno: 297×
    Dobry den,

    delam program s vice procesy, ktere jsou synchronizovany pomoci signalu a resim problem. Typicky usek kodu meho programu je tento:

    // cekani na signal SIGUSR1
    sigemptyset(&block_mask);
    sigaddset(&block_mask, SIGUSR1);
    sigprocmask(SIG_BLOCK, &block_mask, &old_mask);
    while (!usr1_go)
    {
      sigsuspend(&old_mask);
    }
    sigprocmask(SIG_UNBLOCK, &block_mask, NULL);
    usr1_go = 0;
    

    a jeste obsluha preruseni SIGUSR1:

    void sigusr1(int sig)
    {
      usr1_go = 1;
    }
    

    Je to pozastaveni procesu a jeho cekani na prichod signalu SIGUSR1. Ja bych ale potreboval, aby program cekal jak na signal SIGUSR1, tak SIGUSR2 a na zaklade prichodu jednoho z techto dvou signalu by nejak pokracoval (if - else). Impementace tohoto problemu me vsak nenapada, muzete mi prosim poradit? Dekuji.

    Odpovědi

    22.4.2008 13:18 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Cekani procesu na signal
    skúste urobiť niečo z nasledovného
    sigaddset (&block_mask, SIGUSR2);
    
    void sigusr1 (int sig) { sig_go = 1; }
    void sigusr2 (int sig) { sig_go = 2; }
    
    22.4.2008 13:55 pepe
    Rozbalit Rozbalit vše Re: Cekani procesu na signal
    s tim blokovanim a odblokovanim SIGUSR1, opravdu to potrebujes? jinak sigaction() (pripadne signal()) je to co hledas :) Ja bych to udelal tak (za predpokladu, ze muzu klidne prerusit beh programu), ze pomoci sigaction() navesim stejnej handler na SIGUSR1 i SIGUSR2 a v tom handleru se rozhodnu, co chci delat. Pripadne muzes zablokovat oba signaly do doby, nez se ti hodi zavolat handler.

    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.