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.

VALORES RETORNADOS

       close Em caso de sucesso, 0 é retornado, caso contrário -1 é retornado.

ERROS

       EBADF  fd não é um descritor de arquivo aberto válido.

DE ACORDO COM

       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
       performance, 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,
       especialmente, 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
       fisicamente armazenados use fsync(2) ou sync(2).

VEJA TAMBÉM

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

TRADUZIDO POR LDP-BR em 21/08/2000.

       André   L.  Fassone  Canova  <lonelywolf@blv.com.br>  (tradução)  Fábio
       Henrique F. Silva <fabiohfs@mail.com> (revisão)

                                  14/04/1996                          CLOSE(2)