summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-antivirus/clamav/files/clamd.rc')
-rw-r--r--app-antivirus/clamav/files/clamd.rc21
1 files changed, 20 insertions, 1 deletions
diff --git a/app-antivirus/clamav/files/clamd.rc b/app-antivirus/clamav/files/clamd.rc
index f6a3fc0f0db2..098f92f4474b 100644
--- a/app-antivirus/clamav/files/clamd.rc
+++ b/app-antivirus/clamav/files/clamd.rc
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.rc,v 1.8 2005/11/09 16:40:05 ticho Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.rc,v 1.9 2007/03/08 16:59:35 ticho Exp $
depend() {
use net
@@ -45,6 +45,25 @@ start() {
chown ${clamav_user} ${logfile}
fi
+ if [[ ${MILTER_OPTS} == *--external* ]]; then
+ local clamd_socket_wait_count=0
+ local clamd_socket_wait_max=10
+ local clamd_socket_wait_result=-1
+ ebegin "Waiting for clamd to create ${clamd_socket}"
+ while [[ clamd_socket_wait < clamd_socket_wait_max ]]; do
+ if [ -S "${clamd_socket:-/tmp/clamd}" ]; then
+ clamd_socket_wait_result=0
+ break
+ else
+ echo -n " ."
+ let clamd_socket_wait++
+ sleep 1
+ fi
+ done
+ echo
+ eend $clamd_socket_wait_result "Timeout waiting for ${clamd_socket}"
+ fi
+
ebegin "Starting clamav-milter"
start-stop-daemon --start --quiet \
--exec /usr/sbin/clamav-milter -- ${MILTER_OPTS} ${MILTER_SOCKET}