Let's not fall into an infinite loop with blocked

requests



SVN revision: 73061
This commit is contained in:
Iván Briano 2012-06-29 22:04:34 +00:00
parent 8303ba5af4
commit c90e6ed6de
1 changed files with 6 additions and 4 deletions

View File

@ -432,6 +432,8 @@ _cserve2_requests_process(void)
Slave_Command ctype;
unsigned int max_workers;
Eina_List **idle, **working;
Eina_Inlist *itr;
Font_Request *req;
for (j = 0; _request_match[j].rtype != CSERVE2_REQ_LAST; j++)
{
@ -456,12 +458,12 @@ _cserve2_requests_process(void)
idle = &_workers[type].idle;
working = &_workers[type].working;
while (requests[rtype].waiting &&
(eina_list_count(*working) < max_workers))
EINA_INLIST_FOREACH_SAFE(requests[rtype].waiting, itr, req)
{
Slave_Worker *sw;
Font_Request *req = EINA_INLIST_CONTAINER_GET(
requests[rtype].waiting, Font_Request);
if (eina_list_count(*working) >= max_workers)
break;
if (req->locked)
continue;