ecore_main_loop_begin(void)
{
in_main_loop++;
- for (;do_quit == 0;) _ecore_main_loop_iterate_internal(0);
+ while (do_quit == 0) _ecore_main_loop_iterate_internal(0);
do_quit = 0;
in_main_loop--;
}
* @ingroup Ecore_Main_Loop_Group
*/
EAPI void
-ecore_main_loop_select_func_set(int (*func)(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout))
+ecore_main_loop_select_func_set(int (*func) (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout))
{
main_loop_select = func;
}
{
Ecore_Fd_Handler *fdh;
- if ((fd < 0) ||
- (flags == 0) ||
- (!func)) return NULL;
+ if ((fd < 0) || (flags == 0) || (!func)) return NULL;
fdh = calloc(1, sizeof(Ecore_Fd_Handler));
if (!fdh) return NULL;
fdh->data = (void *)data;
fdh->buf_func = buf_func;
fdh->buf_data = (void *)buf_data;
- fd_handlers = (Ecore_Fd_Handler *) eina_inlist_append(EINA_INLIST_GET(fd_handlers),
- EINA_INLIST_GET(fdh));
+ fd_handlers = (Ecore_Fd_Handler *)
+ eina_inlist_append(EINA_INLIST_GET(fd_handlers),
+ EINA_INLIST_GET(fdh));
return fdh;
}
{
Ecore_Win32_Handler *wh;
- if (!h || !func)
- return NULL;
+ if (!h || !func) return NULL;
wh = calloc(1, sizeof(Ecore_Win32_Handler));
if (!wh) return NULL;
wh->delete_me = 0;
wh->func = func;
wh->data = (void *)data;
- win32_handlers = (Ecore_Win32_Handler *)eina_inlist_append(EINA_INLIST_GET(win32_handlers),
- EINA_INLIST_GET(wh));
+ win32_handlers = (Ecore_Win32_Handler *)
+ eina_inlist_append(EINA_INLIST_GET(win32_handlers),
+ EINA_INLIST_GET(wh));
return wh;
}
#else
/* call the prepare callback for all handlers */
EINA_INLIST_FOREACH(fd_handlers, fdh)
- if (!fdh->delete_me && fdh->prep_func)
- {
- fdh->references++;
- fdh->prep_func (fdh->prep_data, fdh);
- fdh->references--;
- }
+ {
+ if (!fdh->delete_me && fdh->prep_func)
+ {
+ fdh->references++;
+ fdh->prep_func (fdh->prep_data, fdh);
+ fdh->references--;
+ }
+ }
EINA_INLIST_FOREACH(fd_handlers, fdh)
- if (!fdh->delete_me)
- {
- if (fdh->flags & ECORE_FD_READ)
- {
- FD_SET(fdh->fd, &rfds);
- if (fdh->fd > max_fd) max_fd = fdh->fd;
- }
- if (fdh->flags & ECORE_FD_WRITE)
- {
- FD_SET(fdh->fd, &wfds);
- if (fdh->fd > max_fd) max_fd = fdh->fd;
- }
- if (fdh->flags & ECORE_FD_ERROR)
- {
- FD_SET(fdh->fd, &exfds);
- if (fdh->fd > max_fd) max_fd = fdh->fd;
- }
- }
+ {
+ if (!fdh->delete_me)
+ {
+ if (fdh->flags & ECORE_FD_READ)
+ {
+ FD_SET(fdh->fd, &rfds);
+ if (fdh->fd > max_fd) max_fd = fdh->fd;
+ }
+ if (fdh->flags & ECORE_FD_WRITE)
+ {
+ FD_SET(fdh->fd, &wfds);
+ if (fdh->fd > max_fd) max_fd = fdh->fd;
+ }
+ if (fdh->flags & ECORE_FD_ERROR)
+ {
+ FD_SET(fdh->fd, &exfds);
+ if (fdh->fd > max_fd) max_fd = fdh->fd;
+ }
+ }
+ }
if (_ecore_signal_count_get()) return -1;
ret = main_loop_select(max_fd + 1, &rfds, &wfds, &exfds, t);
l = l->next;
if (fdh->delete_me)
{
-// ERR("Removing fd %d", fdh->fd);
-
if (fdh->references)
{
deleted_in_use++;
continue;
}
- fd_handlers = (Ecore_Fd_Handler *) eina_inlist_remove(EINA_INLIST_GET(fd_handlers),
- EINA_INLIST_GET(fdh));
+ fd_handlers = (Ecore_Fd_Handler *)
+ eina_inlist_remove(EINA_INLIST_GET(fd_handlers),
+ EINA_INLIST_GET(fdh));
ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
free(fdh);
}
}
- if (!deleted_in_use)
- fd_handlers_delete_me = 0;
+ if (!deleted_in_use) fd_handlers_delete_me = 0;
}
#ifdef _WIN32
continue;
}
- win32_handlers = (Ecore_Win32_Handler *)eina_inlist_remove(EINA_INLIST_GET(win32_handlers),
- EINA_INLIST_GET(wh));
+ win32_handlers = (Ecore_Win32_Handler *)
+ eina_inlist_remove(EINA_INLIST_GET(win32_handlers),
+ EINA_INLIST_GET(wh));
ECORE_MAGIC_SET(wh, ECORE_MAGIC_NONE);
free(wh);
}
}
- if (!deleted_in_use)
- win32_handlers_delete_me = 0;
+ if (!deleted_in_use) win32_handlers_delete_me = 0;
}
#endif
ret = 0;
EINA_INLIST_FOREACH(fd_handlers, fdh)
- if (!fdh->delete_me)
- {
- if (fdh->buf_func)
- {
- fdh->references++;
- if (fdh->buf_func(fdh->buf_data, fdh))
- {
- ret |= fdh->func(fdh->data, fdh);
- fdh->read_active = 1;
- }
- fdh->references--;
- }
- }
-
+ {
+ if (!fdh->delete_me)
+ {
+ if (fdh->buf_func)
+ {
+ fdh->references++;
+ if (fdh->buf_func(fdh->buf_data, fdh))
+ {
+ ret |= fdh->func(fdh->data, fdh);
+ fdh->read_active = 1;
+ }
+ fdh->references--;
+ }
+ }
+ }
return ret;
}
}
_ecore_loop_time = ecore_time_get();
}
- if (_ecore_fps_debug)
- {
- t1 = ecore_time_get();
- }
+ if (_ecore_fps_debug) t1 = ecore_time_get();
/* we came out of our "wait state" so idle has exited */
- if (!once_only)
- _ecore_idle_exiter_call();
+ if (!once_only) _ecore_idle_exiter_call();
/* call the fd handler per fd that became alive... */
/* this should read or write any data to the monitored fd and then */
/* post events onto the ecore event pipe if necessary */
process_events:
-// if (have_event)
_ecore_main_fd_handlers_call();
_ecore_main_fd_handlers_buf_call();
-// do
-// {
- /* process signals into events .... */
- while (_ecore_signal_count_get()) _ecore_signal_call();
- /* handle events ... */
- _ecore_event_call();
- _ecore_main_fd_handlers_cleanup();
-// }
-// while (_ecore_main_fd_handlers_buf_call());
+ /* process signals into events .... */
+ while (_ecore_signal_count_get()) _ecore_signal_call();
+ /* handle events ... */
+ _ecore_event_call();
+ _ecore_main_fd_handlers_cleanup();
-/* ok - too much optimising. let's call idle enterers more often. if we
- * have events that place more events or jobs etc. on the event queue
- * we may never get to call an idle enterer
- if (once_only)
- */
- if (once_only)
- _ecore_idle_enterer_call();
+ if (once_only) _ecore_idle_enterer_call();
in_main_loop--;
}
_ecore_main_win32_select(int nfds __UNUSED__, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *tv)
{
- HANDLE objects[MAXIMUM_WAIT_OBJECTS];
- int sockets[MAXIMUM_WAIT_OBJECTS];
+ HANDLE objects[MAXIMUM_WAIT_OBJECTS];
+ int sockets[MAXIMUM_WAIT_OBJECTS];
Ecore_Fd_Handler *fdh;
Ecore_Win32_Handler *wh;
unsigned int objects_nbr = 0;
unsigned int handles_nbr = 0;
unsigned int events_nbr = 0;
- DWORD result;
- DWORD timeout;
- MSG msg;
- unsigned int i;
- int res;
+ DWORD result;
+ DWORD timeout;
+ MSG msg;
+ unsigned int i;
+ int res;
/* Create an event object per socket */
EINA_INLIST_FOREACH(fd_handlers, fdh)
long network_event;
network_event = 0;
- if(FD_ISSET(fdh->fd, readfds))
+ if (FD_ISSET(fdh->fd, readfds))
network_event |= FD_READ;
- if(FD_ISSET(fdh->fd, writefds))
+ if (FD_ISSET(fdh->fd, writefds))
network_event |= FD_WRITE;
- if(FD_ISSET(fdh->fd, exceptfds))
+ if (FD_ISSET(fdh->fd, exceptfds))
network_event |= FD_OOB;
- if(network_event)
+ if (network_event)
{
event = WSACreateEvent();
WSAEventSelect(fdh->fd, event, network_event);
/* Wait for any message sent or posted to this queue */
/* or for one of the passed handles be set to signaled. */
- if(tv == NULL)
+ if (tv == NULL)
timeout = INFINITE;
else
- timeout = (DWORD)(tv->tv_sec * 1000.0 + tv->tv_usec / 1000.0);
+ timeout = (DWORD)((tv->tv_sec * 1000.0) + (tv->tv_usec / 1000.0));
if (timeout == 0) return 0;
WSAEnumNetworkEvents(sockets[result], objects[result], &network_event);
- if(network_event.lNetworkEvents & FD_READ)
+ if (network_event.lNetworkEvents & FD_READ)
FD_SET(sockets[result], readfds);
- if(network_event.lNetworkEvents & FD_WRITE)
+ if (network_event.lNetworkEvents & FD_WRITE)
FD_SET(sockets[result], writefds);
- if(network_event.lNetworkEvents & FD_OOB)
+ if (network_event.lNetworkEvents & FD_OOB)
FD_SET(sockets[result], exceptfds);
res = 1;
}
- else if ((result >= WAIT_OBJECT_0 + events_nbr) && (result < WAIT_OBJECT_0 + objects_nbr))
+ else if ((result >= (WAIT_OBJECT_0 + events_nbr)) &&
+ (result < (WAIT_OBJECT_0 + objects_nbr)))
{
if (!win32_handler_current)
{
wh = win32_handler_current;
if (objects[result - WAIT_OBJECT_0] == wh->h)
- if (!wh->delete_me)
- {
- wh->references++;
- if (!wh->func(wh->data, wh))
- {
- wh->delete_me = 1;
- win32_handlers_delete_me = 1;
- }
- wh->references--;
- }
-
+ {
+ if (!wh->delete_me)
+ {
+ wh->references++;
+ if (!wh->func(wh->data, wh))
+ {
+ wh->delete_me = 1;
+ win32_handlers_delete_me = 1;
+ }
+ wh->references--;
+ }
+ }
if (win32_handler_current) /* may have changed in recursive main loops */
win32_handler_current = (Ecore_Win32_Handler *)EINA_INLIST_GET(win32_handler_current)->next;
}
}
/* Remove event objects again */
- for(i = 0; i < events_nbr; i++)
- WSACloseEvent(objects[i]);
+ for (i = 0; i < events_nbr; i++) WSACloseEvent(objects[i]);
return res;
}