コンテンツにスキップするには Enter キーを押してください

GoのMQTTのクライアントライブラリにパッチを送った話

Eclipse PahoというMQTTのクライアントの有名どころがあるんですが、 -race フラグを立てて使うとどうしてもスレッド競合が起きてしまうので、それを直すべくパッチを送りました。

原因

PRのdiffを見ればわかるんですが、 atomic 化漏れとロック漏れでした。
前者はまあいいんですが、後者はちょっと場当たり的でいいのかなーと思いつつ、 go test -race してもエラーが出ないのでおそらく大丈夫かなーと思っています。

本当は、マジックコメントとかで無効化したいところなんですが、GoにRace Detectorでは部分的な無効化が無理なので、わざわざ影響が特にないのにパッチにした次第です。

PRのチェックがOKにならなかった問題

そこそこ大きい運営母体がOSS管理をしていると、コードを送った人が大丈夫かのチェックがあるんですが、Eclipseというそこそこ大きくて厳しいところが今回の送信先だったので、そのチェックがありました。
PR毎にチェックが走っているらしく、コミットを-s付きで作成しないといけない上に、フォームであれこれ質問に答えないといけませんでした。

お役所っぽくてめんどくさいんですが、OSSを安全に出荷するための措置ではあるのでなんとかやれましたが、GitHubが提供するGPGの仕組みでやってほしかったなーと思いました。

技術開発部門所属
一番好きな言語はC++です。

コメントする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です