1. An infinite loop that dispatches events.
2. Calls the specified callback function whenever an event arrives or there is data to be read on a file descriptor registered with GrRegisterInput().
3. Never returns.

void
GrMainLoop(GR_FNCALLBACKEVENT fncb)
{
 fd_set rfds;
 int setsize = 0;

 for(;;) {
  FD_ZERO(&rfds);
  GrPrepareSelect(&setsize, &rfds);
  if(select(setsize+1, &rfds, NULL, NULL, NULL) > 0)
   GrServiceSelect(&rfds, fncb);
 }
}

每個 Nano-X 程式最後都要 call 此函數,以接受處理事件。

創作者介紹

邱小新の工作筆記

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()