home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2007/03/31/CのerrnoにあたるPerlの$!は、使用前にクリアが必要

作成日: 2007-03-31 09:29:34   /   last updated at: 2009-04-04 09:30:48
カテゴリ: C言語 Perl 

errno自体がもともと、Cのレベルでそうした処理が必要。
これを忘れると、他のモジュール内で発生した(しかし理由があって故意にスルーした)errnoなどがクリアされずに残っていて、自分で呼んだシステムコールは正常なのに、errnoが残っている為、$!がセットされているように見える場合が有る。

errnoの判定が必要なシステムコールの呼び出し前には、errnoクリア。これは、CもPerlも同じようである。

original url: https://www.glamenv-septzen.net/view/281