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 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 35
    včera 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

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

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 48
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    28.5. 12:22 | IT novinky

    Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).

    Ladislav Hagara | Komentářů: 40
    28.5. 00:11 | Nová verze

    Google Chrome 137 byl prohlášen za stabilní. Nejnovější stabilní verze 137.0.7151.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 11 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Byl vydán AlmaLinux OS 10 s kódovým názvem Purple Lion. Podrobnosti v poznámkách k vydání. Na rozdíl od Red Hat Enterprise Linuxu 10 nadále podporuje x86-64-v2.

    Ladislav Hagara | Komentářů: 0
    27.5. 15:11 | Nová verze

    Byl vydán Mozilla Firefox 139.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 139 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 10
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (31%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 163 hlasů
     Komentářů: 13, poslední dnes 12:26
    Rozcestník

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

    8.10.2006 20:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    shared memory - shmat() -> Invalid argument
    Přečteno: 518×
    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: 68 | 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.