pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: clamsmtpd started too early (pkg/36292)



Hi,

As the new maintainer for clamsmtpd, I started to look at (my own)
pkg/36292. I'm running now the following patch on my servers and all
problems are gone.

Any objection for this change? Is it okay to use expr?

PS. On my secondary MX host it takes over 40 seconds for clamd to start.
    This is a 2.8 GHz P4 with 2 GB RAM and only DNS and SMTP services
    running...

Martti



--- /var/tmp/clamsmtpd  2007-05-29 10:46:13.000000000 +0300
+++ /etc/rc.d/clamsmtpd 2007-05-29 11:27:16.000000000 +0300
@@ -39,11 +39,34 @@
                        /^#/ {next}; /^User[    ]/ {r = $2};
                        END {print r}' ${clamav_conffile}`}
 else
+       : ${socket="/tmp/clamd"}
        : ${clamsmtpd_user="clamav"}
 fi

 clamsmtpd_prestart()
 {
+       if [ ! -S "${socket}" ]; then
+               # Max wait time is 2 minutes
+               retries=11
+
+               echo -n "Waiting for clamd to become ready"
+               while [ ${retries} -gt 0 -a ! -S "${socket}" ]; do
+                       echo -n "."
+                       sleep 10
+                       retries=`expr ${retries} - 1`
+                       slow=true
+               done
+               if [ ! -S "${socket}" ]; then
+                       echo ""
+                       echo "ERROR: Unable to start clamsmtpd as clamd is not 
running!"
+                       exit 1
+               fi
+
+               # Wait another 10 seconds so that clamd is really ready
+               echo -n "."
+               sleep 10
+               echo ""
+       fi
        /usr/bin/touch ${pidfile}
        /usr/sbin/chown ${clamsmtpd_user} ${pidfile}
 }



Home | Main Index | Thread Index | Old Index