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

PROCS模式, 如果select 一直是 EINTR返回, 则MSG_TIME永远不会产生 #47

Closed steprun closed 4 years ago

steprun commented 4 years ago

server_IdleHandler4Server中, 如果select 返回的 errno是 EINTR, __mg_check_expired_timers不会被调用, 那么就不会产生MSG_TIMER

VincentWei commented 4 years ago

Thanks for your report.

Did you have any idea to fix this issue?

steprun commented 4 years ago

--- a/src/server/server.c +++ b/src/server/server.c @@ -105,6 +105,10 @@ static void ParseEvent (PMSGQUEUE msg_que, int event) PKEYEVENT ke; MSG Msg;

VincentWei commented 4 years ago

Thanks. Would you like to send a pull request?

VincentWei commented 4 years ago

I have fixed this issue by calling __mg_check_expired_timers in server_IdleHandler4Server. Please see the branch rel-5-0.