システムコール失敗モードテーブルまたはリスト?

システムコール失敗モードテーブルまたはリスト?

システムコール失敗モードのテーブルまたはリストがあるかどうかを知りたいです。いくつかの例:システムメモリ不足のためにシャットダウン()が失敗しますか?システムが開いているファイルの最大数に達したため、open()は失敗しますか?システムコールは単にタイムアウトしますか?システムコールエラーでさまざまなハードウェアエラーはどのように見えますか?

ありがとうございます!

答え1

推測できるように、すべてのシステムコールですべてのエラーが発生するわけではありません。

最初から始める場合は、/usr/include/errno.h「EPERM」や「EINTR」などのマニフェスト定数を追跡できます。以下で見つけました。

/usr/include/asm-generic/errno-base.hそして /usr/include/asm-generic/errno.h

しかし、私が見るにはlibcのディストリビューションやバージョンに若干の変更があるかもしれません。

Linuxは、特定のシステムコールがそのシステムコールのマニュアルページに表示される可能性のあるエラーを処理するのに非常に熟練しているようですman 2 readman 2 socketこれは、伝統的にまだ存在する可能性があるさまざまなUnixバージョンの場合には該当しません。私は最新のUnix状況を確認するために* BSDシステムにアクセスできません。

関連情報