Provided by: manpages-pt-dev_20040726-2_all bug
 

NOME

        close - fecha um descritor de arquivo
 

SINOPSE

        #include <unistd.h>
 
        int close(int fd);
 

DESCRI O

        close  fecha  um  descritor  de arquivos. Assim que ele não se refira a
        quaisquer arquivos poderá ser reusado. Qualquer  bloqueio  aplicado  ao
        arquivo  e  de  propriedade  do  processo  é  removido (independente do
        descritor de arquivo que foi usado para aplicar o bloqueio).
 
        Se fd é a última cópia de um descritor de  arquivos  em  particular  os
        recursos associados a ele serão liberados; se um descritor tem a última
        referência para um arquivo o qual foi removido  usando  e  unlink(2)  o
        arquivo é apaguado.
        close Em caso de sucesso, 0 é retornado, caso contrário -1 é retornado.
 

ERROS

        EBADF  fd não é um descritor de arquivo aberto válido.
        SVr4, SVID, POSIX, X/OPEN, BSD 4.3.  SVr4 documenta a condição de  erro
        adicional ENOLINK.
 

NOTAS

        Não  checar  os  valores  retornados  do fechamento é comum, mas apesar
        disto,  erro  de  programação  grave.  Implementações  de  sistemas  de
        arquivos que usam técnicas como  ’’write-behind’’, para aumentar a per‐
        formance, pode implicar no sucesso de write(2) , ainda que os dados não
        tenham  sido  gravados.  O  estado  de  erro  pode  ser relatado em uma
        operação  de  escrita  posterior,  mas  é  garantido  ser  relatado  no
        fechamento  do  arquivo.  Não  checar os valores retornados ao fechar o
        arquivo pode implicar na perda silenciosa de dados.  Isto  pode,  espe‐
        cialmente, ser observado com NFS e cotas de disco.
 
        Um  fechamento  bem  sucedido  não  garante  que  os  dados tenham sido
        armazenados com sucesso no disco, já que o kernel adia  escritas.  Isto
        não é comum para um sistema de arquivos que esvazia os buffers quando o
        fluxo é fechado. Se você precisa estar certo que os dados foram fisica‐
        mente armazenados use fsync(2) ou sync(2).
        open(2), fcntl(2), shutdown(2), unlink(2), fclose(3)
        André  L.  Fassone Canova <lonelywolf@blv.com.br> (tradução) Fábio Hen‐
        rique F. Silva <fabiohfs@mail.com> (revisão)
 
                                   14/04/1996                          CLOSE(2)