Kihagyás

Dobodz 3. gyakorlata

  • open: nem bufferelt
    • Nagyon gyors
    • De rögtön elküldi a fájlba az adatot
    • UNIX-os könyvtár
      • Sokkal alacsonyabb szintű API
  • fopen: bufferelt
    • Addig nincs elküldve, amíg nincs új sor karakter
    • C-s könyvtár
      • Univerzális megoldás, "mindenhol" működik

Lock

Fájlra lehet rakni

flock

fctnl:

  • F_SETLKW - set lock and wait if it is locked
  • F_SETLK - set lock but don't wait if it is locked

Ez szintén megcsinálható a shell-ben

A: cat > /tmp/b
B: cat > /tmp/b
A: hello
A: hello2
B: Goodbye
B: goodbye2
A: C-c
B: C-c
A: cat /tmp/b
`Goodbye
Goíodbye2`

Az utoljára lezárt eredménye fog megjelenni

A: cat >> /tmp/b
B: cat >> /tmp/b
A: Test1
B: Test2
A: C-c
B: C-c
A: cat /tmp/b
`Goodbye
Goodbye2
Test1
Test2`
A:  flock --verbose -n /tmp/b -c 'cat >> /tmp/b'
B:  flock --verbose -n /tmp/b -c 'cat >> /tmp/b'
`flock: failed to get lock`