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