From fa0a859d212bbe678fde619769c421ac5661347d Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 16 May 2012 18:30:40 +0200 Subject: regression: tcpsrv.c always activated first worker, what lead to hang ... if more than 3 fds were to be read at the same time. --- tcpsrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcpsrv.c b/tcpsrv.c index 8a931afc..58da359d 100644 --- a/tcpsrv.c +++ b/tcpsrv.c @@ -674,7 +674,7 @@ processWorkset(tcpsrv_t *pThis, nspoll_t *pPoll, int numEntries, nsd_epworkset_t } else { pthread_mutex_lock(&wrkrMut); /* check if there is a free worker */ - for(i = 0 ; (i < wrkrMax) && (wrkrInfo[i].pSrv != NULL) && (wrkrInfo[i].enabled == 0) ; ++i) + for(i = 0 ; (i < wrkrMax) && ((wrkrInfo[i].pSrv != NULL) || (wrkrInfo[i].enabled == 0)) ; ++i) /*do search*/; if(i < wrkrMax) { /* worker free -> use it! */ -- cgit v1.2.3