Qual a diferênça entre usar F_SETFD e F_SETFL em uma chamada para a função fcntl()? [RESOLVIDO]

1. Qual a diferênça entre usar F_SETFD e F_SETFL em uma chamada para a função fcntl()? [RESOLVIDO]

Osmund Saddler
Saddler

(usa Outra)

Enviado em 07/06/2019 - 18:09h

Pelo o que eu entedi até agora a respeito dessas duas constantes foi o seguinte:

F_SETFD: define flags para para o descritor de arquivo especificado no parâmetro __fd.
F_SETFL: define flags de status para o descritor de arquivo especificado no parâmetro __fd.

Perguntas: O que é uma flag de status? Qual a diferênça entre usar F_SETFD e F_SETFL em uma chamada para fcntl()? Em quais ocasiões deve-se utilizar cada constante/valor?



  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/06/2019 - 21:49h

Eu penso que a manpage é bem clara, mas deixe eu tentar explicar de uma outra forma.

F_SETFD é usada para ajustar uma propriedade do descritor relacionada ao processo que o contém, que é se tal descritor será automaticamente fechado ou se será mantido aberto caso o processo substitua o programa atual por outro, através da chamada execve(). Já F_SETFL é usada para ajustar propriedades que afetam as operações realizadas (especialmente leitura e escrita) sobre o objeto que ele descreve (que pode ser um arquivo, um socket, um dispositivo, um pipe etc.).


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)

3. Re: Qual a diferênça entre usar F_SETFD e F_SETFL em uma chamada para a função fcntl()? [RESOLVIDO]

Osmund Saddler
Saddler

(usa Outra)

Enviado em 02/07/2019 - 14:08h

RTFM!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts