Merge pull request #417 from lordcrc/master

Fix for server CPU issue.
This commit is contained in:
Marc-André Moreau 2012-02-10 21:29:43 -08:00
commit ff43066036

View File

@ -61,7 +61,7 @@ void xf_set_event(xfEventQueue* event_queue)
printf("xf_set_event: error\n");
}
void xf_clear_event(xfEventQueue* event_queue)
void xf_clear_events(xfEventQueue* event_queue)
{
int length;
@ -74,6 +74,16 @@ void xf_clear_event(xfEventQueue* event_queue)
}
}
void xf_clear_event(xfEventQueue* event_queue)
{
int length;
length = read(event_queue->pipe_fd[0], &length, 4);
if (length != 4)
printf("xf_clear_event: error\n");
}
void xf_event_push(xfEventQueue* event_queue, xfEvent* event)
{
pthread_mutex_lock(&(event_queue->mutex));
@ -116,6 +126,9 @@ xfEvent* xf_event_pop(xfEventQueue* event_queue)
if (event_queue->count < 1)
return NULL;
/* remove event signal */
xf_clear_event(event_queue);
event = event_queue->events[0];
(event_queue->count)--;