diff -ruN dkfilter.bak/files/dkfilter_in.in dkfilter/files/dkfilter_in.in
--- dkfilter.bak/files/dkfilter_in.in	Sun Sep 17 19:13:45 2006
+++ dkfilter/files/dkfilter_in.in	Sun Sep 17 19:17:40 2006
@@ -42,7 +42,14 @@
 	su -m ${dkfilter_in_user} -c "daemon -p ${dkfilter_in_pidfile} \
 		%%PREFIX%%/bin/dkfilter.in ${dkfilter_in_flags}" \
 		> /dev/null 2> ${tmpfile}
-	sleep 1 # XXX: wait until dkfilter start.
+	# wait until dkfilter start.
+	while true
+	do
+		filesize=`ls -l $tmpfile|awk '{print $5}'`
+		if [ $filesize -gt 0 ]; then
+			break
+		fi
+	done
 	logger -t ${name} `cat ${tmpfile}`
 	err=`grep Error ${tmpfile}`
 	if [ "${err}" ]; then
diff -ruN dkfilter.bak/files/dkfilter_out.in dkfilter/files/dkfilter_out.in
--- dkfilter.bak/files/dkfilter_out.in	Sun Sep 17 19:13:45 2006
+++ dkfilter/files/dkfilter_out.in	Sun Sep 17 19:17:29 2006
@@ -48,7 +48,14 @@
 	su -m ${dkfilter_out_user} -c "daemon -p ${dkfilter_out_pidfile} \
 		%%PREFIX%%/bin/dkfilter.out ${dkfilter_out_flags}" \
 		> /dev/null 2> ${tmpfile}
-	sleep 1	# XXX: wait until dkfilter start.
+	# wait until dkfilter start.
+	while true
+	do
+		filesize=`ls -l $tmpfile|awk '{print $5}'`
+		if [ $filesize -gt 0 ]; then
+			break
+		fi
+	done
 	logger -t ${name} `cat ${tmpfile}`
 	err=`grep Error ${tmpfile}`
 	if [ "${err}" ]; then
