Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       close - zamknięcie deskryptora pliku

SKŁADNIA

       #include <unistd.h>

       int close(int fd);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       close  zamyka  deskryptor  pliku,  tak że nie odnosi się on już później do żadnego pliku i
       może być użyty ponownie. Wszelkie blokady  utrzymywane  pliku,  z  którym  deskryptor  był
       związany,  i których właścicielem był proces, zostają usunięte (niezależnie od deskryptora
       plików, którego użyto dla uzyskanie blokady).

       Jeśli fd jest ostatnią kopią deskryptora pewnego pliku,  zasoby  z  nim  związane  zostają
       zwolnione;  jeśli  deskryptor był ostatnim odniesieniem do pliku, który usunięto za pomocą
       polecenia unlink(2), to plik jest kasowany.

WARTOŚĆ ZWRACANA

       close zwraca zero po pomyślnym zakończeniu, a -1 gdy wystąpi błąd.

BŁĘDY

       EBADF  fd nie jest prawidłowym deskryptorem otwartego pliku.

       EINTR  Funkcja close() została przerwana przez sygnał.

       EIO    Wystąpił błąd we/wy.

ZGODNE Z

       SVr4, SVID, POSIX, X/OPEN, BSD 4.3.  SVr4 dokumentuje dodatowy błąd ENOLINK.

UWAGI

       Niesprawdzanie wartości zwracanej przez close jest  popularnym,  lecz  poważnym  błędem  w
       sztuce programowania. Może się zdarzyć, że przy kończącym close zostaną najpierw zgłoszone
       błędy wcześniejszej operacji write(2).  Niesprawdzanie zwracanej podczas  zamykania  pliku
       wartości  może prowadzić do niesygnalizowanej utraty danych. Jest to obserwowane zwłaszcza
       w przypadku NFS i quota dyskowych.

       Pomyślne zamknięcie nie gwarantuje, że dane zostaną  pomyślnie  zapisane  na  dysku,  gdyż
       jądro  opóźnia zapisy. Systemy plików nie maja zwyczaju opróżniania buforów przy zamykaniu
       strumienia. Jeśli istnieje potrzeba zapewnienia,  aby  dane  zostały  zapisane  fizycznie,
       należy używać fsync(2).  (Zapis zależy w tym momencie od właściwości sprzętowych dysku.)

ZOBACZ TAKŻE

       open(2), fcntl(2), shutdown(2), unlink(2), fclose(3), fsync(2)

INFORMACJE O TŁUMACZENIU

       Powyższe  tłumaczenie  pochodzi  z nieistniejącego już Projektu Tłumaczenia Manuali i może
       nie być aktualne. W  razie  zauważenia  różnic  między  powyższym  opisem  a  rzeczywistym
       zachowaniem  opisywanego  programu  lub  funkcji,  prosimy  o  zapoznanie się z oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 2 close

       Prosimy o pomoc w aktualizacji stron man - więcej informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.

                                            2001-12-13                                   CLOSE(2)