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

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 0
    dnes 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 0
    dnes 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 5
    dnes 00:44 | IT novinky

    Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.

    Ladislav Hagara | Komentářů: 6
    dnes 00:33 | IT novinky

    V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.

    Ladislav Hagara | Komentářů: 5
    včera 12:33 | Zajímavý projekt

    MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.

    NUKE GAZA! 🎆 | Komentářů: 17
    včera 03:55 | Bezpečnostní upozornění

    Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.

    Ladislav Hagara | Komentářů: 2
    12.3. 17:22 | Nová verze

    Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    12.3. 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 4
    12.3. 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1078 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    Dotaz: shared memory - shmat() -> Invalid argument

    8.10.2006 20:23 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    shared memory - shmat() -> Invalid argument
    Přečteno: 547×
    Po překladu a spuštění následujícího C kódu dostávám chybu "Error: Invalid argument". Tu samou chybu dostanu i pokud je ukazatel na str zarovnaný.
    #include <errno.h>
    #include <sys/types.h>
    #include <sys/ipc.h>
    #include <sys/shm.h>
    #include <string.h>
    #include <stdio.h>
    
    int main(void) {
    	int id = shmget(10789L, 10, IPC_CREAT | 0777);
    	char str[] = "abcdefghi";
    	char* addr = (char*) shmat(id, str, SHM_RND);
    	if ((long)addr == -1) {
    		printf("Error: %s\n", strerror(errno));
    		return 1;
    	}
    	return 0;
    }
    
    Přitom pokud nechci mapovat existující oblast paměti, ale novou oblast, kód funguje:
    	char* addr = (char*) shmat(id, 0, SHM_RND);
    
    Přiznávám se rovnou, že programování v C není zrovna moje hobby a do tohohle jsem se pustil jenom proto, že jsem doufal, že napsat těch 10 řádek nebude problém… Podle man shmat by ten kód měl být IMHO vpořádku, asi přehlížím nějakou triviální chybu – dokáže mi někdo poradit, jak na to?
    uname -a
    Linux 2.6.16-gentoo-r7 #2 PREEMPT Fri May 26 18:27:12 CEST 2006 i686 AMD Athlon(tm) XP 2600+ GNU/Linux
    ls -l /usr/lib/libglib.so
    lrwxrwxrwx 1 root root 21 Feb  3  2005 /usr/lib/libglib.so -> libglib-1.2.so.0.0.10
    
    Podotýkám, že potřebuji takto nasdílet již "existující" blok paměti. Výsledek má být zakomponován do JNI a Javy a potřebuji takhle komunikovat s již existujícím sw, který používá právě sdílenou paměť, takže jiný způsob IPC nemůžu použít.

    Odpovědi

    Luboš Doležel (Doli) avatar 8.10.2006 20:27 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: shared memory - shmat() -> Invalid argument
    Nechápu, co by to mělo znamenat, když tam dáte ten str. Mapovat sdílenou paměť přes existující paměť mi připadá nesmyslné.
    8.10.2006 21:08 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: shared memory - shmat() -> Invalid argument
    Chápal jsem to tak, že ten str tímhle způsobem nasdílím. Že by v tom byl zakopaný hafan?

    Ona adresa, kam se bude sdílená paměť mapovat, tedy vždy znamená, že tam sdílená paměť vznikne? A pokud chci začít sdílet již existující data, musím je do sdílené paměti nakopírovat?

    Ono je to vlastně logické, protože shmat už neví nic o tom, že jsem před chvílí přes shmget sdílenou paměť vytvořil, a kdybych se pokusil s tou mojí logikou namapovat na existující adresu sdílenou paměť vytvořenouněkým jiným, měl bych najednou dva kandidáty na obsah sdílené paměti – obsah, který tam vytvořil jiný program (a který se sdílí), a obsah, který je uložen na zadané adrese v adresním prostoru mého programu. A to by asi nešlo.

    Takže ano, adresa předávaná fci shmat je dobrá jenom k tomu, pokud mám speciální přání, kam do mého adresního prostoru se má sdílená paměť namapovat, ale sdílet již přidělenou paměť takhle nemůžu.

    Díky za nakopnutí správným směrem :-)

    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.