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 12:55 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | IT novinky

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 3
    dnes 04:44 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.

    Ladislav Hagara | Komentářů: 0
    5.6. 22:22 | Nová verze

    Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.6. 18:22 | Komunita

    Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.

    Ladislav Hagara | Komentářů: 2
    5.6. 17:33 | Zajímavý software

    OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.

    Ladislav Hagara | Komentářů: 1
    5.6. 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 9
    4.6. 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 23
    4.6. 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    4.6. 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1850 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Xinetd + Perl + ukonceni klienta

    7.9.2008 16:26 kocour_easy
    Xinetd + Perl + ukonceni klienta
    Přečteno: 220×
    Zdravim, zkousim si zprovoznit xinetd server napsany v perlu. Pro xinetd jsem si udelal testovanej konfigurak.
    service test
    {
    disable = no
    type = UNLISTED
    wait = no
    socket_type = stream
    protocol = tcp
    port = 2222
    server = /root/test.pl
    flags = NOLIBWRAP KEEPALIVE
    }
    V perl skriptu jsem inicializoval stdin a stdout. Cteni od klienta pres stdin a zapis klientovy na stdout pomoci systemovych funkci sysread a syswrite funguje. Nedokazal jsem najit nikde co se stane kdyz klient zavre spojeni pomoci funkci shutdown+close. Tedka to mam reseno pomoci funkce alarm.
    sub get_alarmed {
    exit;
    }

    local $SIG{ALRM} = \&get_alarmed;
    alarm 10;
    my $ret_len = sysread($s, $buf, 2);
    alarm 0;
    Podle dokumentace by mneli tyto funkce vracet undef pri nejake chybe. Moje otazka zni jestli je toto spravne a jak se da nastavit sysread+syswrite do neblockovaneho rezimu. Diky

    Odpovědi

    7.9.2008 16:56 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Xinetd + Perl + ukonceni klienta

    je zbytecne delat handler s exitem na sigalarm, protoze implicitni handler dela exit :-)

    pokud klient provede close, dostanete na vstupu (sysread) EOF, tj. 0 prectenych znaku. na vystupu (syswrite) dostanete -1 a EPIPE, pripadne se vam dostavi i sigpipe, ktery je potreba osetrit. pokud nemate nejaky extra duvod k sys* funkcim (tj. nevadi vam bufferovani, perlio, atd), muzete pouzit normalni print, read nebo readline (alias <>).

    nonblock muzete delat dvema zpusoby, a to bud klasicky pres fcntl (viz cookbook), nebo ve vetsine pripadu je plne dostacujici pouzivat select na normalnich (blokujicich) socketech. v druhem pripade bych dal prednost jiz hotovemu modulu IO::Select.

    In Ada the typical infinite loop would normally be terminated by detonation.

    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.