書いた、どのくらいの頻度でEINTRされるのかはまだ追ってない。 #golangjphttps://t.co/PhlUtPZahq
— kadota (@plan9user) February 29, 2020
素晴らしいまとめ。おまけ部分、ファイルの場合は defer f.Close() しつつ、f.Sync() で fsync(2) のエラー処理をするようにしてますね。fsync 成功したら、close(2) の失敗は気にしない。 https://t.co/O6DMhjzebS
— ymmt (@ymmt2005) February 29, 2020
資源開放処理は決して失敗してはいけないってのはAPI設計の大原則なので(理由は「Exceptional C++」 https://t.co/j5CsQvpPEp 等C++のデストラクタに関して詳しく説明してる文書などには載ってる)、「fsyncでエラー処理してcloseのエラーは気にしない(ログはOK)」って方針が確かにベストだと思う。 https://t.co/tYft3jiKLO
— SODA Noriyuki (@n_soda) February 29, 2020
Linuxカーネル界隈の議論でもこれがベストプラクティスということで議論が決着しております。 https://t.co/KYI3RAdz9O
— 令和うまれの恐竜 (@gachacomplete) February 29, 2020