Package: hybserv
Version: 1.9.2-4.1
Severity: normal
Tags: upstream patch

HybServ uses select() to determine if any input is received. It has a timeout 
so other stuff (e.g. timers) can happen in the mean time too. In src/sock.c the 
timer is set with a timeout of 200µs. On my server, this amounts to around 5% 
of continuous CPU usage while doing absolutely nothing. None of the timers run 
more than once every second.

It looks like 
http://hybserv2.svn.sourceforge.net/viewvc/hybserv2?view=revision&revision=1370 
was supposed to lower the timeout from 1 second to 0.2 seconds, but it is now 
in fact 0.0002 seconds (usec != msec).


-- System Information:
Debian Release: 6.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages hybserv depends on:
ii  ircd-hybrid           1:7.2.2.dfsg.2-6.2 high-performance secure IRC server
ii  libc6                 2.11.2-10          Embedded GNU C Library: Shared lib

hybserv recommends no packages.

hybserv suggests no packages.

-- Configuration Files:
/etc/hybserv/glines.conf [Errno 13] Permission denied: 
u'/etc/hybserv/glines.conf'
/etc/hybserv/hybserv.conf [Errno 13] Permission denied: 
u'/etc/hybserv/hybserv.conf'
/etc/hybserv/jupes.conf [Errno 13] Permission denied: u'/etc/hybserv/jupes.conf'
/etc/hybserv/logon.news [Errno 13] Permission denied: u'/etc/hybserv/logon.news'
/etc/hybserv/motd.dcc [Errno 13] Permission denied: u'/etc/hybserv/motd.dcc'
/etc/hybserv/motd.global [Errno 13] Permission denied: 
u'/etc/hybserv/motd.global'
/etc/hybserv/settings.conf [Errno 13] Permission denied: 
u'/etc/hybserv/settings.conf'

-- no debconf information
Index: src/sock.c
===================================================================
--- src/sock.c	(revision 1576)
+++ src/sock.c	(working copy)
@@ -603,7 +603,7 @@
 		FD_ZERO(&writefds);
 
 		TimeOut.tv_sec = 0L;
-		TimeOut.tv_usec = 200L;
+		TimeOut.tv_usec = 200000L;
 
 		if (currenthub && (HubSock != NOSOCKET))
 		{

Reply via email to