export PATH=$(dirname $0):/bin:/usr/bin:/sbin
 
+cronstopstart="/etc/init.d/cron"
 . config.sh
 
 # If the noburn file is there then don't burn.
 [ -z "$img" ] && exit 1
 [ -s "$img" ] || exit 1
 
+# To avoid buffer underruns I'm going to stop cron and renice myself
+$cronstopstart stop
+renice -10 $$
+
 # Burn the image to a disk.
 cdrecord-wrapper.sh -dao dev=$sdev $img > $logfile 2>&1
 
   exit 1
 fi
 
+# We don't need to be high-priority anymore.
+renice 0 $$
+$cronstopstart start
+
 # Now verify the disk by running md5sum on the entire contents of the disk
 md5sum=$(tempfile)
 echo Md5sum: $md5sum
 
--- /dev/null
+#!/bin/sh
+
+export PATH=$(dirname $0):/bin:/usr/bin:/sbin
+
+. config.sh
+
+# burn-imgs.sh needs to be detached so that it can stop and start cron without
+# dying itself.
+
+setsid burn-imgs.sh
 
--- /dev/null
+#!/bin/sh
+
+export PATH=$(dirname $0):/bin:/usr/bin:/sbin
+
+. config.sh
+
+if [ -n "$(find $lastbackupfile -mtime +14)" -o -n "$(cat $statusfile | grep -i incomplete)" ]; then
+  echo "Running backups from cron..."
+  setsid pack-image.sh
+  exit 0
+fi
+
+echo "Not running backups today.  Backups were last run on $(<$lastbackupfile)"
 
+++ /dev/null
-#!/bin/sh
-
-export PATH=$(dirname $0):/bin:/usr/bin:/sbin
-
-. config.sh
-
-if [ -n "$(find $lastbackupfile -mtime +14)" -o -n "$(cat $statusfile | grep -i incomplete)" ]; then
-  echo "Running backups from cron..."
-  exec pack-image.sh
-fi
-
-echo "Not running backups today.  Backups were last run on $(<$lastbackupfile)"