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

[MD:5080] Re: resize frame



meadow-develop に振ります。

>>>>> [meadow-users-jp : No.5586] にて
>>>>> "矢木" = YAGI Tatsuya <ynyaaa@xxxxxxxxx> さんは書きました:
矢木> meadow -q
矢木> C-x 2
矢木> C-x 3
矢木> (↓こんな感じになる)
矢木> ┌┬┐
矢木> ├┴┤
矢木> └─┘
矢木> この状態からフレームを縦に縮めると Meadow がフリーズします。

メインスレッドにて W32_BLOCK_INPUT で他のスレッドの処理をブロック
して開放しないまま他の処理に移ってしまうことがあるようです。

これは、ブロックしている最中に、
・elisp レベルのエラーが発生したとき、
・C-g で処理を中断したとき、
に発生します。

この現象が起きると、結果として上記のようにフリーズしてしまいます。

対策方法がよく分からなかったのですが、以下のように Fsignal()にて
ブロックしていたら開放するように変更し commit しました。
この方法で問題があるようでしたら、修正をお願いします。


それから、藤井さんの[meadow-users-jp: 5584]の件もこの修正で解決す
るかもしれません。
確認お願いできませんか? > 藤井さん

;; 私のところでは再現しませんので確認できません。


===================================================================
--- branches/2.00/src/eval.c	2004-06-09 13:15:10 UTC (rev 3304)
+++ branches/2.00/src/eval.c	2004-06-12 02:33:27 UTC (rev 3305)
@@ -1393,6 +1396,10 @@
     abort ();
 
   TOTALLY_UNBLOCK_INPUT;
+#ifdef MEADOW
+  if (W32_SELF_INPUT_BLOCKED_P)
+    W32_UNBLOCK_INPUT;
+#endif /* MEADOW */
 
   if (NILP (error_symbol))
     real_error_symbol = Fcar (data);

--
三好 雅則 http://www.boreas.dti.ne.jp/~miyoshi/