lock üzemmód

printf ( „leszármazott kész felvétel

alapértelmezett. várjon (NULL); break;

Ez a példa azt a lehetőséget mutatja a sorszámozás folyamatok. Mindazonáltal még mindig képes olvasni és írni a gyermek folyamat. Ilyen zár lehetőség neve tanácsadó zár (opcionális zár). A felszereléséhez nincs semmilyen további megvizsgálja, hogy a rendszer funkcióit nyitva. írni és olvasni, mert a hívásblokkolási tilos. Tanácsadó zár azt feltételezzük, hogy a felhasználó maga felelős annak ellenőrzésére, hogy az egyes zárak létezik, vagy nem. Lehetetlen, hogy megakadályozzák az összes folyamat a fájl megnyitásakor. Csak folyamatok jelenléte kérdezőbiztosok zár segítségével fcntl. zárni, ha rendelkezésre áll (bár nem mindig).

Más esetekben is vannak az úgynevezett szigorú zár (kötelező zárolás). Ezek zár folyamat megtilthatják az olvasási vagy írási funkciók adatokat, amelyeket korábban zárolta egy másik folyamat útján fcntl.

Sztringens lehetővé teszi reteszelő beállításával bites Set-Group-ID biteket és eltávolítjuk teljesítményt a csoport, például:

int mandatory_lock (int fd)

struct stat statbuffer;

if (fstat (fd, statbuffer) <0)

fprintf (stderr, "sikertelen hívást fstat # 92; n");

if (fchmod (fd (statbuffer.st_mode

fprintf (stderr „Nem hozható létre szigorú

> Szigorú zár függ a rendszer. Azonban ez nem akadályozza meg a fájl törlését keresztül unlink ().

Ha az open () megnyitja fájl zászlókat O_TRUNC és O_CREAT és a fájl meghatározott szigorú zár, akkor hibát ad vissza, melynek értéke hibakod = EAGAIN.

Kapcsolódó cikkek