[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:7046] MW32_update_begin でデッドロック
- X-ml-count: 7051
- Subject: Re: [MD:7046] MW32_update_begin でデッドロック
- From: Kyotaro HORIGUCHI <horiguti@xxxxxxxxxxx>
- Date: Fri, 25 Nov 2005 21:27:28 +0900 (JST)
- User-agent: Mew version 4.2.54 on Emacs 22.0 / Mule 5.0 (榊) / Meadow-3.00-dev (菊)
やっぱり W32_BLOCK_INPUTですね. W32_BLOCK_SELF_INPUT_P が効かない
のか.. それとも第三のスレッドが W32_BLOCK_INPUTしてるのか..
以下のパッチも試してみてもらえませんか? (W32_BLOCK_INPUT NOP化で
す.)
# すみません. 手元でなかなか固まらないもんで. その代わり描画がされ
# なくなることがある. hdc_refcount が正しく戻らないときがあるらし
# い.
Index: mw32sync.h
===================================================================
--- mw32sync.h (revision 3987)
+++ mw32sync.h (working copy)
@@ -8,19 +8,23 @@
extern HANDLE keyboard_handle;
extern HANDLE interrupt_handle;
-#define W32_BLOCK_INPUT \
-do { \
- EnterCriticalSection(&critsec_message); \
- block_input_ownthread = GetCurrentThreadId ();\
-} while (0);
-#define W32_UNBLOCK_INPUT \
-do { \
- block_input_ownthread = 0; \
- LeaveCriticalSection(&critsec_message); \
-} while (0);
-#define W32_SELF_INPUT_BLOCKED_P \
-(block_input_ownthread == GetCurrentThreadId ())
+#define W32_BLOCK_INPUT
+#define W32_UNBLOCK_INPUT
+#define W32_SELF_INPUT_BLOCKED_P FALSE
+//#define W32_BLOCK_INPUT \
+//do { \
+// EnterCriticalSection(&critsec_message); \
+// block_input_ownthread = GetCurrentThreadId ();\
+//} while (0);
+//#define W32_UNBLOCK_INPUT \
+//do { \
+// block_input_ownthread = 0; \
+// LeaveCriticalSection(&critsec_message); \
+//} while (0);
+//#define W32_SELF_INPUT_BLOCKED_P \
+//(block_input_ownthread == GetCurrentThreadId ())
+
#define W32_BLOCK_EVENT EnterCriticalSection(&critsec_access_event)
#define W32_UNBLOCK_EVENT LeaveCriticalSection(&critsec_access_event)
--
ほりぐちきょうたろう