読者です 読者をやめる 読者になる 読者になる

その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

XSのABRTをキャッチしたい

perl





以下の様なコードを実行するとABRTしてアプリごと死ぬという厳しい状況にぶち当たりました.
(なおこのバグはfix issue #45 · 93ff36f · goccy/p5-Compiler-Lexer · GitHubにて修正されている様子.@さんには頭が上がりません.ありがとうございます)


$SIG{ABRT} = sub {...};

という具合で書いてやればABRTを握れるのかな〜とか思って書いてみたら,この方法ではシグナルをトラップできない感じだったので,やむなく以下の様にforkを使ってなんとかすることにしました.
https://github.com/moznion/Perl-Lint-Playground/blob/5d9c23b59646dcc65fbb8d95e67368f6b02c3c01/lib/Perl/Lint/Playground/Service/Lint.pm

IO::Pipe便利!!!!!


さて皆さんこういう感じで,入力によってはXSがエラー吐いてどうにもならん時ってどうされてるんですかね?