Zachary Kotlarek 12 лет назад
Родитель
Сommit
6d3133686d
1 измененных файлов с 22 добавлено и 5 удалено
  1. 22 5
      folderFixup.sh

+ 22 - 5
folderFixup.sh

@@ -18,14 +18,30 @@ if [ ! -e "${inFolder}" ]; then
 	exit 1
 fi
 
+# Ensure we have a valid TMPDIR
+if [ ! -d "${TMPDIR}" ]; then
+        TMPDIR="`getconf DARWIN_USER_TEMP_DIR 2>/dev/null`"
+        if [ ! -d "${TMPDIR}" ]; then
+                TMPDIR="/var/tmp"
+        fi
+        if [ ! -d "${TMPDIR}" ]; then
+                TMPDIR="/tmp"
+        fi
+fi
+
 # Bail if we're already running
-me="`basename "${0}"`"
-if [ `ps auwx | grep -v grep | grep "${me}" | wc -l` -gt 3 ]; then
-	if [ -n "${DEBUG}" ] && [ $DEBUG -gt 0 ]; then
-		echo 'Already running' 1>&2
+LOCK="${TMPDIR}/folderFixup.run"
+touch "${LOCK}"
+read MOUNT_PID < "${LOCK}"
+if [ -n "${MOUNT_PID}" ]; then
+	if ps -A -o pid | grep -q "${MOUNT_PID}"; then
+		if [ -n "${DEBUG}" ] && [ $DEBUG -gt 0 ]; then
+			echo 'Already running' 1>&2
+		fi
+		exit 0
 	fi
-	exit 0
 fi
+echo $$ > "${LOCK}"
 
 # Bail if the load is high
 if ! ~/bin/video/checkLoad.sh; then
@@ -56,6 +72,7 @@ cat "${tmp}" | \
 	grep -v "^ *$"
 
 # Cleanup
+rm -f "${LOCK}"
 rm -rf "${tmp}"
 
 # Debug