Jedinecnost klice pro fnc shmget

Jirka Kosina jikos na jikos.cz
Úterý Duben 6 22:43:11 CEST 2004


On Tue, 6 Apr 2004, Zdenek Janis wrote:

> Ano, to je mi jasne... mel jsem na mysli neco jako je ve windows, kde 
> funkci (uz si nepamatuji nazev) predam string a ona si to ulozi nekam do 
> globalnich promennych a vrati neco jako ID. Pri opetovnem zavolani z 
> jineho procesu to vrati stejne cislo, ale pocet techto jedinecnych cisel 
> je omezen.

No, takove chovani si samozrejme lze ruznymi zpusoby odsimulovat. 
Napriklad mne hned napada sice jeden mozna ne zrovna elegantni, ale jinak 
celkem funkci ... pomoci mkstemp() si nekde v /tmp (respektive tam kam 
ukazuje $TMPDIR) vytvorit soubor a pak jako jednoznacnou identifikaci brat 
jeho inode. Pokud mkstemp() vrati eexist, znamena to, ze soubor jiz 
existuje a muzeme si jeho inode zjistit taky a k danemu segementu sdilene 
pameti se attachnout.

Ale samozrejme to chce udelat alespon trosku sikovne, aby tam tech race 
conditions zase nebylo az tak moc :)

-- 
JiKos.


Další informace o konferenci Linux