VincentWei / MiniGUI

A modern and mature cross-platform window system for embedded systems and smart IoT devices.
http://www.minigui.com
GNU General Public License v3.0
695 stars 157 forks source link

使用5.0.9的minigui库时拖拽窗口会死锁右键菜单显示minigui消息对话框也会死锁 #84

Closed chenyinen closed 2 years ago

chenyinen commented 2 years ago

之前用的3.2版本现在更新5.0版本跑mg-sample时发现以上问题,minigui运行在线程模式下!

(gdb) bt

0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85

1 0x00007ffff7a41aaa in SendSyncMessage (hWnd=, msg=247,

wParam=<optimized out>, lParam=140737488347888) at message.c:1754

2 0x00007ffff7a1449b in MoveWindow (hWnd=0x60b9f0, x=,

y=<optimized out>, w=800, h=<optimized out>, fPaint=<optimized out>) at window.c:5286

3 0x00007ffff7a154bc in DefaultPostMsgHandler (lParam=2817498546992,

wParam=240518168592, message=81, pWin=0x60b9f0) at window.c:2267

4 PreDefMainWinProc (hWnd=0x60b9f0, message=81, wParam=240518168592,

lParam=2817498546992) at window.c:2653

5 0x00007ffff7a41308 in DispatchMessage (pMsg=pMsg@entry=0x7fffffffe3e0)

at message.c:1386

6 0x00000000004014bc in MiniGUIAppMain (argc=argc@entry=1,

argv=argv@entry=0x7fffffffe588) at helloworld.c:209

7 0x0000000000400d13 in main (args=1, argv=0x7fffffffe588) at helloworld.c:174

(gdb) info threads Id Target Id Frame 3 Thread 0x7ffff5709700 (LWP 1729) "helloworld" 0x00007ffff76bb913 in select () at ../sysdeps/unix/syscall-template.S:81 2 Thread 0x7ffff5f0a700 (LWP 1728) "helloworld" pthread_rwlock_wrlock () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:85