Jedinecnost klice pro fnc shmget

Jirka Kosina jikos na jikos.cz
Úterý Duben 6 22:09:37 CEST 2004


On Tue, 6 Apr 2004, Zdenek Janis wrote:

> mam spise filozoficky dotaz, jak zajistim jedinecnost klice pro funkci
> zdilene pameti shmget? (Programovano v C) Presneji: existuje nejaka
> funkce ktera vytvori jedinecny klic (int) pro urcity retezec znaku?

To z principu neni mozne, protoze int ma samozrejme mensi rozsah nez kolik 
je moznych retezcu, takze musi existovat funkcni hodnoty, do kterych se 
Vam tech retezcu zobrazi vic.

Muzete si konstruovat ruzne funkce alespon priblizne se blizici nejake 
perfektni hashovaci funkci, ale to je dost obtizne.

Takze si musite vytvorit nejakou (celkem libovolnou, treba soucet ascii 
hodnot znaku (pripadne nejake to modulo), md5, ...) a volat shmget() s 
flagy IPC_CREAT | IPC_EXCL abyste byl schopen detekovat ze doslo v 
hashovaci funkci ke konfliktu a musite spocitat novy hash.

-- 
JiKos.


Další informace o konferenci Linux