Tabela ou lista de modos de falha de chamada do sistema?

1

Eu estou querendo saber se há uma tabela ou lista de modos de falha de chamada do sistema. Alguns exemplos: Pode o exit () falhar devido a falta de memória do sistema? Pode open () falhar devido ao sistema atingir o limite máximo de arquivos abertos? As chamadas do sistema podem simplesmente expirar? Como seriam várias falhas de hardware manifestadas nas falhas de chamadas do sistema?

Obrigado!

    
por cat pants 10.09.2014 / 21:00

1 resposta

0

Como você provavelmente já adivinhou, nem todo erro pode acontecer em todas as chamadas do sistema.

Se você começar com /usr/include/errno.h , provavelmente poderá rastrear as constantes de manifesto como "EPERM" ou "EINTR". Eu os encontrei em:

/usr/include/asm-generic/errno-base.h e /usr/include/asm-generic/errno.h

mas parece que pode haver alguma variação por distro ou versão da libc.

O Linux parece ser muito bom em ter os erros que qualquer chamada de sistema pode manifestar na página man daquela chamada do sistema: man 2 read ou man 2 socket por exemplo. Isso não é tradicionalmente verdade para as várias versões do Unix que provavelmente ainda estão por aí. Eu não tenho acesso a um sistema * BSD para verificar isso em Unixes modernos.

    
por 10.09.2014 / 21:32