2016-09-16

フックのゲート処理として、カウンタをアトミックに扱っていたつもりだったが、どうも期待した値にならない。
InterlockedIncrement InterlockedDecrementで確実に処理されるのは知っているが、アセンブラ1命令でもいけるだろうと組んであった部分がどうもおかしい。
よくよく調べたらメモリアクセスに関しては、ちゃんとロックが必要らしい。思い込みに反省。

追記:
lockつきのアセンブラコードに変えたらきっちり動いた~
たぶん、UWPアプリで何故かDLLがアンロードされない現象も同じ理由な予感w

0 件のコメント:

コメントを投稿