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