Package: pound
Version: 2.6-3.1
Severity: normal
Dear Maintainer,
the pound source code contains a bug waiting for a semaphore. After the
semaphore has been signaled a thread has to check again if the queue contains
entries. In a system with a high number of threads that is likely not the case.
Therefore, a while-loop instead of an if is required.
The patch is quite simple:
--- pound.orig 2014-02-06 14:03:54.112718385 +0100
+++ pound.c 2014-02-06 14:04:02.604718653 +0100
@@ -155,7 +155,7 @@
thr_arg *res;
(void)pthread_mutex_lock(&arg_mut);
- if(first == NULL)
+ while(first == NULL)
(void)pthread_cond_wait(&arg_cond, &arg_mut);
if((res = first) != NULL)
if((first = first->next) == NULL)
Regards,
Jesper
-- System Information:
Debian Release: 7.3
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages pound depends on:
ii libc6 2.13-38
ii libpcre3 1:8.30-5
ii libssl1.0.0 1.0.1e-2+deb7u3
pound recommends no packages.
pound suggests no packages.
-- Configuration Files:
/etc/init.d/pound changed [not included]
/etc/pound/pound.cfg changed [not included]
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]