[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:7199] r4033 (Re: [MD:7147] クラッシュ on rev 4012)



ほりぐちです. とりあえず先日の r4033 の説明です.

> 会社の Meadow もひさしぶりに落ちたのですが、デバッガ立ち上げる余
> 裕もないときで、そのままスルー (_ _)

 以前落ちた時に状況を見たところ, 起きてはいけない排他区間の侵犯が
clear_mouse_face 付近で確認できました. それを元にコードを確認した
ところさらにフォーカス移動でも同様の事象が起きていて, かつこの侵犯
自体がかなり頻繁に起きていましたようです.

 で, この部分を主に直したものが r4033 です. 概要は以下のとおり.

a) clear_mouse_face については実行できないときには保留して次の機会
  (なにかメッセージが飛んできたとき)にリトライするようにしました.
  この点ではWM_PAINTと同じだけどこちらは明示的に処理しています.

b) フォーカス移動についてはコードを整理した結果競合している部分(カー
  ソル再表示)は不要な処理だったので丸ごと削ってしまいました.

c) free_realized_faces を排他区間に加えました. (これが多分MD:7147
   での白井さんが遭遇したケース)

 この処置を行ってからデバッガ上で使いながらこの侵犯の監視を続けて
いますが, 今のところまったく起きていません.

# これでクラッシュがとまったらイイナ♪

-- 
ほりぐちきょうたろう