--- postgrey-old 2011-05-29 11:11:02.000000000 +0200 +++ postgrey-old 2011-05-29 11:21:47.000000000 +0200 @@ -57,11 +57,8 @@ checkconfig || return 1 ebegin "Starting Postgrey" - # HACK -- start a subshell and corrects perms on the socket... - ( if [ "x${POSTGREY_TYPE}" = "xunix" ]; then - rm -f ${POSTGREY_SOCKET}; - while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done; - chmod a+rw,a-x ${POSTGREY_SOCKET}; fi ) & + # HACK -- remove old socket first + [ "x${POSTGREY_TYPE}" = "xunix" ] && rm -f ${POSTGREY_SOCKET} if [ -z ${POSTGREY_DELAY} ] ; then POSTGREY_DELAY_ARG="" @@ -75,17 +72,27 @@ POSTGREY_TEXT_ARG="--greylist-text=${POSTGREY_TEXT}" fi - start-stop-daemon --start --quiet --background \ + start-stop-daemon --start --quiet \ --pidfile=${POSTGREY_PID} \ --name postgrey \ - --exec /usr/sbin/postgrey -- \ + --exec /usr/sbin/postgrey \ + --wait 2500 \ + -- \ --${POSTGREY_ADDR} \ --daemonize \ --pidfile=${POSTGREY_PID} \ ${POSTGREY_DELAY_ARG} \ ${POSTGREY_OPTS} \ "${POSTGREY_TEXT_ARG}" - eend ${?} + rv=$? + + # HACK -- corrects perms on the socket... + if [ "x${POSTGREY_TYPE}" = "xunix" -a 0 -eq ${rv} ]; then + while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done + chmod a+rw,a-x ${POSTGREY_SOCKET} + fi + + eend ${rv} } stop() {